Python 物件導向的繼承特性

2021-10-06 00:05:00 字數 2232 閱讀 2559

一、繼承:

乙個類可以派生出子類,在這個父類裡定義的屬性、方法自動被子類繼承

1、py2, 經典類是按照深度優先來繼承的,新式類是按照廣度優先來繼承的

2、py3, 經典類與新式類都是按照廣度優先進行繼承的

3、**的復合使用:

class b(object):

definit(self):

class a(object):

definit(self):

self.b = b()

4、例項

# # author : xuefeng

# # 經典類

# # class people:

# # 新式類

# class people(object):

# def __init__(self, name, age):

# self.name = name

# self.age = age

# self.friends =

# # def sleep(self):

# print("%s is sleeping!" % self.name)

# # def eat(self):

# print("%s is eating!" % self.name)

# #

# class relation(object):

# def make_fri(self, obj):

# print("%s is ****** friends with %s..." % (self.name, obj.name))

# #

# class man(people, relation):

# def __init__(self, name, age, money):

# # people.__init__(self, name, age)

# super(man, self).__init__(name, age) # super更加方便一些,新式類的寫法

# self.money = money

# # def sleep(self):

# people.sleep(self)

# print("this man is sleeping!")

# # def piao(self):

# print("%s is piaoing..." % self.name)

# #

# class woman(people, relation): # 從左往右執行,尋找建構函式

# def give_bir(self):

# print("%s is giving a birth to a baby!" % self.name)

# #

# jim = man("jim", 22, 15000)

# # jim.eat()

# # jim.piao()

# # jim.sleep()

# # mary = woman("mary", 23)

# # mary.give_bir()

# # jim.make_fri(mary)

# print(jim.friends[0].name)

# 多繼承

# 只繼承乙個構成函式

classa(

object):

def__init__

(self)

:print

("a"

)class

b(a)

:def

__init__

(self)

:print

("b"

)class

c(a)

:def

__init__

(self)

:print

("c"

)class

d(b, c)

:pass

# def __init__(self):

# print("a")

d = d(

)

物件導向特性 繼承

1 子類繼承父類的方法和字段 class computer 子類,膝上型電腦類 class notecomputer extends computer 2 不需要父類的字段和方法,那麼可以採用重寫的方法覆蓋掉父類的方法。class computer 子類,膝上型電腦類 class notecompu...

Python 物件導向的特性2 繼承

物件導向的三大特性 1 封裝 根據職責將屬性和方法封裝到乙個抽象的類中,然後類建立乙個實實在在的物件,有了物件以後,就可以訪問到物件內部的屬性,或者讓物件來呼叫乙個已經封裝好的方法。2 繼承 實現 的重用,相同的 不需要重寫。3 多型 不同的子類物件呼叫相同的父類方法,產生不同的執行結果。以繼承和重...

python 物件導向三大特性 繼承

一 什麼是繼承 繼承是一種建立新類的方式,在python中,新建的類可以繼承乙個或者多個父類,父類又可以稱為基類活超類,新建的類稱為派生類或子類。簡單來說就是 子類可以繼承父類的方法和屬性。python中類的繼承分為 單繼承和多繼承 class parentclass1 定義父類 pass clas...