1. 程式人生 > >01什麽是面向對象,面向對象的基本操作

01什麽是面向對象,面向對象的基本操作

屬性 自動 增刪改 包含 構造方法 操作類 pre 具體類 一個個

1.0---面向對象的概念
.
類: 具有相同屬性和技能的一類事物; (人類就可以作包含了多個對象(人)的)
對象: 具體類的表現,具體到個體,實實在在的一個實例; (高小波是一個人,就是人類中實實在在的個體)

為什麽要學習類,對象: 可以將代碼形成一個個代碼塊,這些代碼塊可以進行相互間的操作(類間的繼承,對象對類的操作),有利於代碼的規範和引用
.
2.0---類的格式
.
類體: 包括倆部分 變量部分(靜態變量) ,方法(函數)部分(普通函數,構造方法)

class Person:           #  Person 類名
    name=‘有名字‘             #  靜態變量,(也叫靜態字段)
    animal=‘高級動物‘
    faith=‘有信仰‘

    def work(self):            #  方法(函數)
        print(‘有沒有工作‘)
    def house(self):
        print(self)
        print(‘有沒有房子‘)

.
3.0---面向對象的操作
.
對類的操作可以從倆個角度來講:通過類名對類進行操作,通過對象對類進行操作
從類名的角度:
.
a.-- dict
Person.dict 操作 查詢類中的所有內容;不能進行增刪改操作
b.--萬能的 . (可實現增刪改查)

print(Person.name)   # 查
Person.age=25    # 增     在類的函數中也可以操作
Person.name=‘高波‘    # 改
del Person.animal        # 刪

操作類中的方法(在工作中基本不用)
Person.work(11)

.
從對象的角度

class Person:
    name=‘有名字‘ #  靜態變量,或者是靜態字段
    animal=‘高級動物‘
    faith=‘有信仰‘
    def __init__(self,name,age,sex,hobby):     #  構造方法(每個類都要有構造方法)
        self.name=name
        self.age=age
        self.sex=sex
        self.hobby=hobby      # 給對象封裝相應的屬性(變量,可控);
    def work(self):
        print(‘有沒有工作‘)
    def house(self):
        print(self)
        print(‘有沒有房子‘)

ret=Person(‘高波‘,25,‘boy‘,‘不知道‘)
默認將Person的空間地址傳給self,其他得參數會依次傳入
#1, 類名+()產生一個實例(對象,對象空間.)
#2, 自動執行類中的init方法,將對象空間傳給init的self參數,
#3, 給對象封裝相應的屬性(變量). 可控的

自動執行類中的init方法,將對象空間傳給init的self參數,
Person() # 類名+() 的這個過程:實例化的過程(創建一個對象的過程)
Person() 實例化對象,實例,對象

a.--操作對象中的靜態變量
1.0 dict 查詢對象中的所有內容
2.0 萬能的 .

print(ret.name)
ret.hith=1.68
del ret.hobby
ret.name=‘高小波‘
 print(ret.__dict__)

b.--對象操作類中的靜態變量

print(ret.name) # 如果對象中有就會先查詢對象中的,沒有的得話,向上一步查詢類中的
print(ret.faith)
c.--對象操作類中的方法 (工作中,通過對象)
ret.work()
ret.house()

01什麽是面向對象,面向對象的基本操作