1. 程式人生 > >類----簡單總結

類----簡單總結

closed 重寫 註意 person 簡單 table 實例化 containe line

類的構成

技術分享圖片
 1 class 類名:
 2     def __init__(self,參數1,參數2):
 3         self.對象的屬性1 = 參數1
 4         self.對象的屬性2 = 參數2
 5 
 6     def 方法名(self):pass
 7 
 8     def 方法名2(self):pass
 9 
10 對象名 = 類名(1,2)  #對象就是實例,代表一個具體的東西
11                   #類名() : 類名+括號就是實例化一個類,相當於調用了__init__方法
12                   #括號裏傳參數,參數不需要傳self,其他與init中的形參一一對應
13 #結果返回一個對象 14 對象名.對象的屬性1 #查看對象的屬性,直接用 對象名.屬性名 即可 15 對象名.方法名() #調用類中的方法,直接用 對象名.方法名() 即可
類的總結


繼承

1.繼承是一種創建新類的方式

2.新建的類可以創建一個或多個父類,父類有稱為基類或者超類

3.新建的類稱為派生類或者子類

在python中類的繼承分為:單繼承或多繼承

?
1 2 3 4 5 6 7 8 9 10 11 class ParentClass1: #定義父類 pass class ParentClass2:
#定義父類 pass class SubClass1(ParentClass1): #單繼承,基類是ParentClass1,派生類是SubClass pass class SubClass2(ParentClass1,ParentClass2): #python支持多繼承,用逗號分隔開多個繼承的類 pass

4.查看所有繼承的父類

print(Person.__bases__) #__base __只查看從左到右繼承的第一個子類,__bases__則是查看所有繼承的父類

如果沒有指定父類,python會默認繼承object類,object是所有python的父類。

經典類:在python2中,class Dad: 不會繼承object,這樣的類叫做經典類(它叫經典類,不是因為它經典,而是因為它比較老)

新式類:在python3中,python會默認繼承object類(一切皆對象)

    class Dad 就相當於python2中的 class Dad(object) #新式類

而且python3中沒有經典類了

5.繼承與抽象(先抽象後繼承)

抽象:抽取類似或者說比較像的部分(也就是提取一類事物的特點,範圍越來越大,共性越來越少)

    是從大範圍到小範圍的過程

繼承:是基於抽象的過程,通過編程語言去實現它,肯定是先經歷抽象這個過程,才能通過繼承的方式去表達出抽象的結構

   是從小範圍到大範圍的過程

6.派生:(相對論)

  1.在父類的基礎上產生子類,產生的子類就叫做派生類

  2.父類裏沒有的方法,在子類中有了,這樣的方法就叫做派生方法。

  3.父類裏有,子類也有的方法,就叫做方法的重寫(就是把父類裏的方法重寫了)

7.註意的幾個概念:

  1.子類可以使用父類的所有屬性和方法

  2.如果子類有自己的方法,就執行自己的;如果子類沒有自己的方法,就會找父類的。

  3.如果子類裏面沒有找到,父類裏也沒有找到,就會報錯

  4.如果子類中實現了調用父類的方法

    在類內:super(子類,self).方法名() supper().__init__(參數)

    在類外:super(子類名,對象名).方法名()

單例模式

類的調用

類----簡單總結