1. 程式人生 > >重修課程day22(面向對象三之繼承和派生)

重修課程day22(面向對象三之繼承和派生)

ini day2 基類 src __init__ 什麽是 類名 alt 屬性

面向對象的三大特性:封裝,繼承和多態

一 繼承

 1 什麽是繼承:1.1 什麽是什麽的關系。一個類是另一個類的子類。

        1.2 繼承是一種創新類的方式。新建的類可以繼承一個或多個父類。父類又稱為基類或超類,新建的類又稱為派生類或子類

  繼承一個父類叫做單繼承;繼承多個父類叫做多繼承。

 2 繼承的好處:減少代碼的冗余,增強了代碼的重用性。

二 繼承的用法

super:調用父類的功能和方法

格式一:在子類的內部調用父類的屬性和方法

 class 父類名:

  def 屬性(self):

    功能

 class 子類名(父類名):

  def 屬性(self):

    super().屬性名

class A:
    def aa(self):
        print(11)
class B(A):
    def aa(self):
        super().aa()
b=B()
b.aa()

在子類的內部調用父類的功能和方法可以不用傳入參數,可以直接(super().屬性名)就可以調用

格式二:在子類的外部調用父類的功能和方法

class 父類名:

  def 屬性(self):

    功能

class 子類名(父類名):

  pass

對象=子類名()

super(子類名,對象).屬性()

# class A:
#     def aa(self):
#         print(11)
# class B(A):
#     pass
# b=B()
# super(B,b).aa()

在子類外部調用父類的屬性和方法是,必須要給super傳入兩個參數,一個是子類名,一個是對象名:super(子類名,對象).屬性()

在多繼承的時候,super繼承的是第一個父類。

super:新式類調用父類的方法。super找到有該方法或屬性的第一個父類。

# class People:
#     def __init__(self,name,age,sex):
#         self.name=name
#         self.age=age
#         self.sex=sex
# class Nan:
#     pass
# class Student(Nan,People):
#     def __init__(self,name,age,sex):
#         super().__init__(name,age,sex)
# fang=Student(‘fang‘,‘男‘,18)
# print(fang.name)

父類名.__init__(self):經典類調用父類方法和屬性的方式。

# class People:
#     def __init__(self,name,age,sex):
#         self.name=name
#         self.age=age
#         self.sex=sex
# class Nan:
#     pass
# class Student(Nan,People):
#     def __init__(self,name,age,sex):
#         People.__init__(self,name,age,sex)
# fang=Student(‘fang‘,‘男‘,18)
# print(fang.name)

繼承中子類可以繼承父類的所有屬性和方法

# class People:
#     def __init__(self,name,age,sex):
#         self.name=name
#         self.age=age
#         self.sex=sex
# class Nan:
#     pass
# class Student(Nan,People):
#     def __init__(self,name,age,sex):
#         People.__init__(self,name,age,sex)
# fang=Student(‘fang‘,‘男‘,18)
# print(fang.name)

當子類和父類中有同名的方法和屬性時,一定是調用自己的。

如果想要調用父類的方法和屬性時,需要借用super來調用。

對象剋有調用自己和父類的所有方法和屬性,首先是調用自己的,自己沒有在去調用父類的。

誰(對象)調用方法,self就會指向誰。

自己私有的方法叫做派生方法;自己私有的屬性叫做派生屬性。

技術分享

從下到上叫做抽象,從上到下就叫做繼承。

重修課程day22(面向對象三之繼承和派生)