Python 學習筆記 -- 類和實例


 1 #創建一個類,類是一種具有相同屬性和方法的抽象
 2 #創建類需要使用class關鍵字,並且定義方法時,方法的第一個參數是self
 3 class Student(object):
 4 
 5     #這點與C/C++、C#的語法不同,簡單區別下,定義類屬性需要在特殊方法__init__內部
 6     def __init__(self,name,score):
 7         self.name = name #注意了,這里才是類內的屬性,為類屬性
 8         self.score = score #同樣的,這也是類屬性
 9     
10     def fun(self):
11         print("這就是類內定義一個類的方法")
12 
13     def print_name(self):
14         print(self.name)
15 
16     def print_score(self):
17         print(self.score)
18 
19 #實例:創建對象,並調用對象的方法
20 omega = Student("歐米茄",100)
21 omega.print_name()
22 omega.print_score()
23 
24 #其他的一些實例:
25 class Person(object):
26 
27     def __init__(self, name="歐米茄"):
28         self.name = name
29 
30     def print_name(self):
31         print(self.name)
32 
33 omega = Person()
34 omega.print_name()
35 
36 
37 #矩形實例:
38 class Rectangle(object):
39 
40     def __init__(self,long = 0,breadth = 0):
41         self.long = long
42         self.breadth = breadth
43 
44     def setRect(self):
45         try:
46             print("請輸入矩形的長和寬....")
47             long = input("長:")
48             breadth = input("寬:")
49             if not long.isdigit() or not breadth.isdigit() or long == "" or breadth == "":
50                 raise ValueError("輸入的值錯誤!")
51             
52             self.long = int(long)
53             self.breadth = int(breadth)
54         except:
55             print("輸入錯誤!")
56         
57     def getRect(self):
58         print("矩形長度為:%d,矩形寬度為:%d"%(self.long,self.breadth))
59         return self.long,self.breadth
60 
61     def getArea(self):
62         print("矩形面積為:",self.long * self.breadth)
63 
64 rect = Rectangle(3,5)
65 rect.getArea()
66 rect.setRect()
67 rect.getRect()
68 rect.getArea()
69 
70 
71 #總結下:
72 """
73     注意:上面的實例目前只能體現出封裝的特性。
74     以下這些只是我先總結的,簡單點,不想搞得太復雜
75     面向對象有三大基本特征:封裝、繼承、多態
76     封裝:就是講客觀事物封裝成抽象類,並對一些不可信的類隱藏信息
77     繼承:主要是用於代碼重用。
78     多態:Python的多態,顯示在繼承上,比如說A B C三個類都有add方法,print_value方法負責調用它們的add方法。
79     如果 它們同時繼承與 D ,且D有add方法,那么 print_value(d): print(d.add()) 可以傳入A B C三種類的對象。
80     且,調用的add函數,根據實例本身的類型。
81     
82 """

值得注意的是,Python類方法的第一個參數self,這其實就是C++里的this*,也就是對象本身。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM