面對物件的3個特性

2021-10-23 04:41:14 字數 2666 閱讀 6338

繼承性、封裝性(概念比較抽象)、多型性

#繼承性

class

people()

:sum=0

def__init__

(self,age,gender =

'male'):

self.age = age

self.gender = gender

defget_gender

(self)

:print

(self.gender)

class

students

(people)

:#people為students的父類,反之子類

# sum = 0

# def __init__(self,name):

# self.name = name

# self.__class__.sum += 1

defgo_to_sleep

(self)

:print

('go to sleep.'

)

john = students(10)

print

(john.

sum)

#繼承了父類的sum,子類物件呼叫父類類變數

print

(students.

sum)

#子類直接呼叫父類類變數

john.get_gender(

)#呼叫父類方法

乙個父類可以有多個子類,子類又有多個子子類

乙個子類可以有多個父類,即多繼承

非主流繼承方式、因為如果改變父類、子類內部要大改,不方便

class

people()

:sum=0

def__init__

(self,age,race,gender)

: self.age = age

self.race = race

self.gender = gender

defget_info

(self)

:print

(self.age,self.race,self.gender)

class

students

(people)

:#people為students的父類,反之子類

def__init__

(self,name,school,age,race,gender)

: people.__init__(self,age,race,gender)

#這裡加self是類來呼叫例項方法,不加的話,例項方法不知道是哪個物件在呼叫自己

self.name = name

defgo_to_sleep

(self)

:print

('go to sleep.'

)

john = students(

'john'

,'fudan',18

,'oriental'

,'male'

)john.get_info(

)

主流繼承方式,用super()函式

class

people()

:sum=0

def__init__

(self,age,race,gender)

: self.age = age

self.race = race

self.gender = gender

defget_info

(self)

:print

(self.age,self.race,self.gender)

deftesting

(self)

:print

('this is a parent method.'

)class

students

(people)

:def

__init__

(self,name,school,age,race,gender)

:super

(students,self)

.__init__(age,race,gender)

self.name = name

self.school = school

defgo_to_sleep

(self)

:print

('go to sleep.'

)def

testing

(self)

:super

(students,self)

.testing(

)#同名父類方法的呼叫方法,任用super函式

print

('this is a child method.'

)

john = students(

'john'

,'fudan',18

,'oriental'

,'male'

)john.get_info(

)john.testing(

)#子類,父類方法同名,子類的方法會覆蓋父類方法

python基礎 面對物件特性

1 封裝特性 2 繼承特性 3 多型 封裝 將類中的某些部分隱藏起來,物件不能直接使用隱藏起來的屬性和方法,具有保護功能。封裝格式 雙下劃線屬性或者方法名稱。繼承 讓類和類之間產生父子關係,子類可以擁有父類的靜態屬性和方法。python中繼承分為單繼承和多繼承。繼承的作用 提高 的重複率。格式 雙下...

面對物件三大特性

1.封裝 安全,在需要封裝的屬性或者函式前加雙下劃線,並提供讀 寫的介面 1.封裝是物件導向程式設計的一大特點 2.物件導向程式設計的第一步 將屬性和方法封裝到乙個抽象的類中 為什麼說是抽象的,因為類不能直接使用 3.外界使用類建立物件,然後讓物件呼叫方法 4.物件方法的細節都被封裝在類的內部 cl...

java面對物件三大特性

繼承 概念繼承通過extends關鍵字來實現,其中subclass稱為子類,superclass稱為父類,基類,或超類 作用 重用,復用 單繼承乙個類,只能繼承乙個父類 乙個類,可以有多個子類 不繼承構造方法不繼承 沒有訪問許可權的成員不繼承 靜態成員不繼承 多型多型指的是編譯器 申明變數是 和執行...