1. 程式人生 > >python入門(七)class類

python入門(七)class類

class 類


是面向對象一個載體
類的定義:

class A (object):
         pass
         全局變量
         函數1。。。
         def....(self):
         函數2.。。。
         def....():

類裏面有很多函數,函數第一個參數默認都是self
變量可以直接在類的內部直接定義
類在內部調用函數或者變量的時候,必須使用self.
self代表的就是類實例化以後的個體
實例化類的首字母小寫表示類,然後實例化

類的構造器

class A (object):
        def __init__(self,name):
                self.name=name

就是類在實例化的時候首先要執行的函數。

繼承:

class A(object):
    def __init__(self,name):
        self.name=name
    def student(self):
        print ("please tall my name")

class B (A):
    def grand(self):
        print("i will be back")
a=A("huang")        

B調用了A中屬性,這就教繼承
重寫:

class A(object):
    def __init__(self,name):
        self.name=name
    def student(self):
        print ("please tall my name")

class B (A):
def __init__(self):
        print("this is test")
def grand(self):
        print("i will be back")
def student(self):
        print("my name is tom")

B.student()

A有student,B也有student,如果B中有init構造器,就重寫函數,調用類B的student,沒有就去父類中找

舉個簡單的例子:

class 人(object):
    def __init__(self,name):
        self.name=name
        有兩條腿
        有年齡
            有頭發
class 男人(人):
      有妻子:
      有胡子:

class女人(人):
        有丈夫:
class和尚(人):
        def __init__(self):
        沒有頭發

大體就是這個意思,

男人有兩條腿,有年齡,有妻子,有胡子,有頭發男人繼承人的屬性。
女人有兩條腿,有年齡,有丈夫,有頭發女人繼承了人的屬性,
和尚有兩條腿,有年齡,沒有頭發,頭發這個屬性和父類(人)沖突了,那麽就需要重寫,需要有構造器

python入門(七)class類