美文网首页
类的继承和类的定制-python学习21

类的继承和类的定制-python学习21

作者: 郭俊未来学院 | 来源:发表于2019-12-09 14:06 被阅读0次

类的继承

在Python中,我们的习惯表述是:A类是B类的子类,而B类是A类的父类(或超类)。

所以,类的继承,让子类拥有了父类拥有的所有属性和方法。如此,不用从头写代,而是直接复用。

只有继承的话,子类只是父类的复制而已。那样,为什么不直接用父类,还要增加一个子类?

就需要了解另一个重要的概念:类的定制。

类的定制:

子类可以在继承的基础上进行个性化的定制,包括:(1)创建新属性、新方法;(2)修改继承到的属性或方法。

类的定制,不仅可以让子类拥有新的功能,还能让它有权修改继承到的代码;所以,当我们谈定制时,已经包含了继承。

类的定制的前提是继承,而定制的加入让类的继承不仅仅只是单纯的复制而已。这也是我们创建子类的意义;

继承的基础语法:

继承

通过一个小括号,子类就能轻轻松松地拥有父类所拥有的一切。不用复制大段大段的代码,只要一个括号,就能复用整块代码。

很多类在创建时也不带括号,如class Chinese:。这意味着它们没有父类吗?

实际上,class Chinese:在运行时相当于class Chinese(object):。而object,是所有类的父类,我们将其称为根类(可理解为类的始祖)。

理解:1、所有父类及子类创建的实例都属于根类object; 2、所有子类创建的实例都属于父类; 3,父类创建的实例不属于子类。

函数isinstance():可以用来判断某个实例是否属于某个类。

具体用法是输入两个参数(第一个是实例,第二个是类或类组成的元组),输出是布尔值(True 或 False)

****理论上,父类可以被无限个子类所继承,这一点好比类的属性方法可以传递给无限个实例,

多层继承和多重继承:

多层继承,属于继承的深度拓展;语法和继承一样;

多重继承,则是继承的宽度拓展。

多重继承:一个类,可以同时继承多个类,语法为class A(B,C,D):

括号里B, C, D的顺序是有讲究的。和子类更相关的父类会放在更左侧。

就近原则:越靠近子类(即越靠左)的父类,越亲近,越优先考虑。子类调用属性和方法时,会先在靠左的父类里找,找不到才往右找。

多重继承和多层继承对比图:

多层与多重继承对比

多层继承和多重继承的结合,让继承的类拥有更多的属性和方法,且能更灵活地调用。进而,继承的力量也得以放大了很多倍。

多重继承中,若某父类还有父类的话,会先继续往上找到顶。

类的定制语法:

我们可以在子类下新建属性或方法,让子类可以用上父类所没有的属性或方法。这种操作,属于定制中的一种:新增代码。

除了新增代码外,定制还有另一种操作:重写代码。

重写代码,是在子类中,对父类代码的修改。

子类继承父类方法的操作是在def语句后接父类.方法(参数)

相关文章

  • 类的继承和类的定制-python学习21

    类的继承 在Python中,我们的习惯表述是:A类是B类的子类,而B类是A类的父类(或超类)。 所以,类的继承,让...

  • python零基础13:类的继承和定制

    类的定制和继承是什么? 类的继承 类的定制 类的继承要怎么写? 继承基础语法 继承之多层继承 继承的多重继承 类的...

  • Python面向对象编程(下)

    数据封装、继承和多态是面向对象程序设计中最基础的3个概念,今天学习下Python中的高级特性——多重继承、定制类、...

  • 类的继承顺序

    python2新式类继承object的类python2经典类未继承任何类的python2新式类和python3的继...

  • 【面向对象】Python面向对象之多继承算法

    Python的多继承类的声明如下: Python的类分为经典类和新式类: 经典类:默认是没有继承任何基类的类,2....

  • python继承机制和Minxin模式

    python继承和访问父类和super python通过在类方法名旁边声明(父类名)来继承父类子类可以通过父类名....

  • 新式类、经典类

    继承 object 类的是新式类,不继承 object 类的是经典类,在 Python 2.7 里面新式类和经典类...

  • 一阶段day16-01面向对象

    Python中类支持继承,并且支持多继承 一、继承 1、什么是继承 父类(超类):被继承的类子类:继承父类的类继承...

  • 2018-10-19面向对象和pygame

    类的继承 python中的类支持继承,并且支持多继承 1.什么是继承 父类(超类):被继承的类子类:继承的类继承就...

  • day16

    类的继承 python中的类支持继承,并且支持多继承() 1.什么是继承 父类(超类):被继承的类子类:去继承的类...

网友评论

      本文标题:类的继承和类的定制-python学习21

      本文链接:https://www.haomeiwen.com/subject/xdlugctx.html