世界上肯定是先出現各種各樣的實際存在的物體,然後隨著人類文明的發展,人類站在不同的角度總結出了不同的種類,比如
人類、動物類、植物類等概念。也就說,物件是具體的存在,而類僅僅只是乙個概念,並不真實存在,比如你無法告訴我人類
具體指的是哪乙個人
這與函式的使用是類似的:先定義函式,後呼叫函式,類也是一樣的:在程式中需要先定義類,後呼叫類。不一樣的是:呼叫
函式會執行函式體**返回的是函式體執行的結果,而呼叫類會產生物件,返回的是物件
按照上述步驟,我們來定義乙個類
#在python中程式中的類用class關鍵字定義,而在程式中特徵用變數標識,技能用函式標識,因而類中最常見的無非是:變數和函式的定義
class luffystudent:
school='luffy'
def __init__(self,name,age):
self.name = name
self.age = age
def learn(self):
print('is learning')
def eat(self):
print('%s is eating' %self.name)
def sleep(self):
print('%s is sleeping' %self.name)
def __del__(self):
print("running del method, this person must be died.")
# 後產生物件
stu1=luffystudent('alex',18)
stu2=luffystudent('li',28)
stu3=luffystudent('hy',38)
print(luffystudent.__dict__)
stu1.eat()
stu2.eat()
stu3.sleep()
print('--end program--')
輸出結果
alex is eating
li is eating
hy is sleeping
--end program--
running del method, this person must be died.
running del method, this person must be died.
running del method, this person must be died.
注意:
print(luffystudent.school) # 查
# luffy
luffystudent.school='oldboy' # 改
print(luffystudent.school) # 查
# oldboy
luffystudent.***='male' # 增
print(luffystudent.***)
# male
del luffystudent.*** # 刪
print('--end program--')
#執行__init__,stu1.name='alex',
# 很明顯也會產生物件的命名空間可以用stu1.__dict__檢視,檢視結果為
print(stu1.__dict__)
print(stu1.name) #查,等同於stu1.__dict__['name']
stu1.name='王三炮' #改,等同於stu1.__dict__['name']='王三炮'
print(stu1.__dict__)
stu2.course='python' #增,等同於stu1.__dict__['course']='python'
print(stu2.__dict__)
del stu2.course #刪,等同於stu2.__dict__.pop('course')
print(stu2.__dict__)
#輸出結果:
alex
物件導向 類與物件
物件導向是相對於面向過程而言的,具體的來說,比如 我們想要吃一頓午飯,我們親自買菜,洗菜.切菜,炒菜,煮飯,這樣做成一桌菜就叫面向過程,也就是說整個過程 你都親自完成,而 物件導向呢?點外賣 點一桌子菜和公尺飯 不管他咋做出來的 面向過程程式設計 就是 我們想要實現乙個功能 直接去呼叫別人寫好的功能...
物件導向 類與物件
1.物件導向的三大特徵 1 封裝性 2 繼承性 3 多型性 物件導向最大的特徵 可以對現實生活進行抽象 2.基本概念 1 類 指共性的概念 2 物件 指的是乙個具體的,可以使用的事物。通俗來說,類就是產生物件的藍圖。物件的所有行為,一定要在類中進行完整的定義。類中的組成 屬性 方法 class 類名...
物件導向 類與物件
先有類後有物件 類的定義 class 類名稱 物件的定義與呼叫物件的屬性與方法 類名稱 物件名稱 new 類名稱 封裝性就是把類中的屬性私有化 private class person public void setname string str public void setage int a p...