1,面向?qū)ο笳Z言三大特性:
封裝 繼承 多態(tài)
(主要考慮繼承!其它兩個(gè)比較弱化)
2,多態(tài)
一種事物多種形態(tài) (前提:子類是父類的另外一個(gè)形態(tài))
3,公有屬性繼承問題:
父類的公有屬性也會(huì)繼承給子類對(duì)象畏梆,但是要注意__init__重寫的重寫問題
class Dog(Animal):
def __init__(self): # __init__是一個(gè)初始化方法盒蟆,重寫了父類的__init__導(dǎo)致父類的age屬性訪問不到
# Animal.__init__(self)
# super().__init__()
super(Dog, self).__init__() # 如果想要把父類的屬性也繼承過來(解決重寫的問題)铺敌,需要調(diào)用到到父類的__init__方法拂酣,并且最好寫在最開始到的位置
self.name = "小狗"
self.age = 0
4,了解類屬性和實(shí)例屬性的概念
類屬性 指的是類對(duì)象的屬性
類屬性的定義:在類里面,在方法之外 定義的比原,不用帶self
特點(diǎn):類屬性在各個(gè)對(duì)象之間共享
實(shí)例屬性 指的是實(shí)例對(duì)象的屬性
特點(diǎn):在各個(gè)對(duì)象之間互相獨(dú)立插佛,互不干擾
5,掌握類屬性和實(shí)例屬性的訪問和修改方法
類名.屬性名
對(duì)象名.屬性名
類屬性的訪問和修改:
1、類名.類屬性名(最最常用) Dog.num
2春寿、對(duì)象名.類屬性名(不推薦使用)
3朗涩、對(duì)象名.__class__.類屬性名(了解)
4、在類方法中绑改, cls.類屬性名
實(shí)例屬性
def __init__(self):
self.age = 10 # 實(shí)例屬性 特點(diǎn):在各個(gè)實(shí)例對(duì)象之間的互不干擾的,互相獨(dú)立的
6,掌握類方法的使用
@classmethod
Def fn(cls):
xxx
類名.方法名() Dog.fn()
類方法格式:
@classmethod # 裝飾器兄一、修飾器
def 類方法名(cls): # 類方法厘线, 用來處理類屬性
pass
調(diào)用的格式:
1、類名.類方法名()
2出革、對(duì)象名.__class__.方法名()
3造壮、在類方法中 cls.類方法名()
7,掌握靜態(tài)方法的使用
@staticmethod
Def fn():
xxx
類名.方法名() Dog.fn()
8,實(shí)例方法,類方法,靜態(tài)方法
三種方法耳璧,實(shí)例方法最常用成箫!