码迷,mamicode.com
首页 > 其他好文 > 详细

重修课程day22(面向对象三之继承和派生)

时间:2017-09-18 18:56:56      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:封装   logs   类的方法   重用   格式   是什么   好处   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(面向对象三之继承和派生)

标签:封装   logs   类的方法   重用   格式   是什么   好处   alt   方法   

原文地址:http://www.cnblogs.com/fangjie0410/p/7544538.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!