1. 程式人生 > >面向對象和類的介紹

面向對象和類的介紹

def 面向對象 使用 訪問 查看類 面向 返回值 ini 編程

#一、面向對象 #面向過程與面向對象 #面向過程:過程即解決問題的過程,就是有邏輯順序,基於該思想寫程序。如設計流程圖,是一種機械式的思維方式。 #優點:復雜的過程流程化,進而簡單化 #缺點:擴展性差 #面向對象:對象是特征與技能的結合體,基於該思想編寫程序比如創造一個世界,世界是由一個個對象組成 #優點:可擴展性強 #缺點:編程復雜高,容易出現過度設計 #二、類 #對象是特征與技能的結合體,類是一系列對象相似的特征與技能的結合體。 #在實現中:一定是先有的一個個具體的對象,後總結出的類。如(人,人類) #在程序中:一定是先定義類,後產生對象。 #類的格式: class 類名: #類體內的代碼在類的定義階段就會立即執行, #如: class sut: sc=‘dagschool‘ def learn(self): print(‘is learing‘) def __init__(self,name,sex,age): #__init__在調用類時會自動觸發 self.Name=name self.Sex=sex self.Age=age #self.Name=‘李‘ #self.Sex=‘男‘ #self.Age=18 def choose_cou(self): print(‘choose‘) #類的查看屬性 print(sut.__dict__) #__dict__查看類的名稱空間 print(sut.sc) #訪問類的名稱空間,"."訪問前面名稱空間的屬性。 print(sut.learn) #learn類的函數屬性 #類的增加屬性 sut.counttry=‘china‘ print(sut.counttry) #類的修改屬性 sut.sc=‘DAGSCHOOL‘ print(sut.sc) #類的刪除屬性 del sut.counttry print(sut.counttry) #類函數的調用,必須傳參 sut.learn(‘ss‘) #調用類的過程又稱之為實例化 #1.得到的返回值,即是一個對象,該對象是一個空對象。 #2.把空對象,連同調用類時類括號參數,把它拼接成一堆參數,其中空對象本身要當成第一個參數,然後傳給初始化的函數__init__。如:sut.__init__(sut1,‘李‘,‘男‘,18) sut1=sut(‘李‘,‘男‘,18) #sut1就是一個對象 print(sut1.__dict__) print(sut1.Name,sut1.Sex,sut1.Age) #類中定義的函數是綁定給對象使用的,不同的對象就是不同的綁定方法,綁定給誰,就應該由誰來調用。誰來調用,就會誰當做第一個參數傳給對象的函數。 class sut: sc=‘dagschool‘ def learn(self,x,y): print(‘%s is learing‘ %self.Name) print(x,y) def __init__(self, name, sex, age): # __init__在調用類時會自動觸發 self.Name=name self.Sex=sex self.Age=age sut1=sut(‘李‘,‘男‘,18) #sut1就是一個對象 print(sut1.__dict__) print(sut1.Name,sut1.Sex,sut1.Age) sut2=sut(‘羅‘,‘男‘,8) sut3=sut(‘候‘,‘男‘,181) print(sut.learn) print(sut1.learn) print(sut2.learn) print(sut3.learn) sut1.learn(1,2) sut.learn(sut1,1,2) #結果相同 #在類內部定義的函數,都應該默認有一個參數。 例: class Teac: schoo=‘oldboy‘ count=0 def __init__(self,name,sex,age,level,salary): self.name=name self.sex=sex self.age=age self.level=level self.salary=salary Teacher.count+=1 def teach(self): print(‘%s is tacahing‘ %self.name) t1=Teac(‘ii‘,‘sdf‘,19,56,20) t2=Teac(‘tr‘,‘tf‘,58,60,1000) t3=Teac(‘hg‘,‘aop‘,68,40,100) print(t1.count) #類及類型 g=[1,2,3,4] #g=list([1,2,3,4]) g1=list([1,2,3,4]) g2=list([1,2,3,4]) g1.append(5) #等於 list.append(g1,5) #g1相當於默認參數self print(g1) #綁定方法的理解 g1.append(‘a‘) g2.append(‘b‘)

面向對象和類的介紹