面向?qū)ο缶幊?/h2>

編程思想:
面向過程編程:c (只有邏輯和過程)
a = 1
b = 2
print(a+b)
面向?qū)ο缶幊蹋簀ava、c++、oc、python等(有類語法)-->(以對象為工具實現(xiàn)功能)
對象.sum(1,2)
函數(shù)式編程:c、java、python (以函數(shù)為工具實現(xiàn)功能)
def sum(num1, num2):
return num1+num2
sum(1,2)

  • 類:具有相同屬性和相同功能的對象的集合。是抽象的
  • 對象:就是類的實例,是具體的
    聲明類的格式:
    class 類名:
    類的內(nèi)容
    class: python中聲明類的關(guān)鍵字
    類名: 標(biāo)識符,1.首字母大寫!?。?! 2.見名知義
    冒號: 固定格式,冒號后一個縮進(jìn)的內(nèi)容,就是類的內(nèi)容
    類的內(nèi)容:1.類變量 2.對象屬性 3.方法(構(gòu)造方法,對象方法、類方法、靜態(tài)方法)
    1.類變量: 聲明在類中,方法外的變量;要通過類去獲?。ㄍㄟ^類能夠讓其具體的屬性)
    方法: 聲明在類中的函數(shù)就叫方法

聲明一個人對應(yīng)的類
class Person:
count就是類變量(通過類去使用)
count = 61 # 局部變量,作用域是整個類

 構(gòu)造方法__init __,名字固定;
通過類創(chuàng)建對象的時候,系統(tǒng)會自動的調(diào)用這個方法去初始化對象的屬性

self:
1.類中所有的對象方法都會默認(rèn)有一個self參數(shù),
用來指向調(diào)用方法的對象(誰調(diào)用當(dāng)前這個方法就指向誰)

2.調(diào)用帶有self的方法,不需要給self傳參,系統(tǒng)會自動將方法調(diào)用者傳給它
def __init__(self, name1=''):
    # 我們一般在這個地方去聲明對象的屬性
    # name、age、gender就是人這個類的對象的屬性
    self.name = name1
    self.age = 0
    self.gender = '女'

對象方法:1.所有的對象方法都有一個默認(rèn)的參數(shù)self
2.直接聲明在類中的函數(shù),都是對象方法
3.對象方法必須使用對象去調(diào)用
def run(self):
print('跑起來')

  • 1.使用類變量:通過 類名.類變量 的形式在類外去使用類變量
    print(Person.count)
  • 2.name、age、gender都是對象屬性,對象屬性的使用: 對象.屬性名
  • 3.對象方法run: 對象方法只能通過對象去調(diào)用--> 對象.方法名(實參列表)
    run() #NameError: name 'run' is not defined
    Person.run()
    4.怎么聲明對象:類名(參數(shù))
    通過創(chuàng)建對象:會自動調(diào)用類的init方法去初始化對象的屬性
    類名(參數(shù)),這個參數(shù)有沒有,有幾個就看init方法
    p1 = Person('xiaoming')
    通過person類,創(chuàng)建了一個對象p1
    創(chuàng)建完對象后,就可以通過對象獲取對象屬性:對象.屬性名
    print(p1.name)
    通過對象給屬性賦值
    p1.age = 10
    print(p1.age)
    通過對象去調(diào)用對象方法(也叫給對象發(fā)送消息)
    p1.run()
    5.一個類可以擁有多個對象
    P2 = Person
    p2.name ='lLuoHao'
    p2.age = 34
    p2.gender ='男‘
    p2.run()
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容