首页 > 其他分享 >继承

继承

时间:2023-09-26 15:11:05浏览次数:26  
标签:Sub1 继承 子类 pass 父类 class

继承是一种创建新类的方式,新建的类可以称为子类或者派生类,父类又可以称为基类或者超类

 需要注意的是:python支持多继承 再python中,新建的类可以继承一个或者多个父类

继承格式:

class Parent1:

pass

class Parent2:

pass

class Sub1(Parent1):单继承

pass

class Sub1(Parent1,Parent2): 多继承

pass

 

查看子类继承对应的父类:

print(Sub1._ _bases_ _)

print(Sub2._ _bases_ _)

 

再python2中有经典类和新式类之分

新式类:继承了object类的子类,以及该子类的子类子子类

经典:没有继承object类的子类,以及该子类的子类子子类

在 python3中 所有类是新式类

 

pythond 的多继承

优点:子类可以同时遗传多个父类的属性,最大限度的重用代码

缺点:①违背人的思维习惯:继承表达的事一种什么"是"什么的关系

②代码可读性会变差

③不建议使用多继承,扩展性变差,如果真的涉及到一个子类不可避免的要重用多个父类属性,应该使用Mixins

 

 

 

 

 

 

 

 

super()调用父类提供给直接方法=》严格依赖继承关系

调用super()会得到一个特殊的对象,该对象会参照发起查找的那个类的mro

标签:Sub1,继承,子类,pass,父类,class
From: https://www.cnblogs.com/97zs/p/17652953.html

相关文章

  • 继承、方法重写
    权限修饰符 方法重写:当子类觉得父类中的某个方法不好用,或者无法满足自己的需求时,子类可以重写一个方法名称、参数列表一样的方法,去覆盖父类的这个方法,这就是方法重写。 子类重写父类方法时,访问权限必须大于或者等于父类该方法的权限(public>protected>缺省)。......
  • 15,面向对象原型继承
    子类对象名.__proto__=父类对象名;varuse={name:'岳不群',age:123,ff:function(){console.log(this.name+'在跑步');}};varniao={fei:function(){console.log(this.name+'在飞');}};varliyu......
  • 封装继承多态和instanceof
    封装一般利用私有private把属性私有,使其无法被调用,想要调用就必须使用get/set快捷键Alt+insert方法来将其使用,它可以增强我们程序的安全性,同时再set的方法中我们可以加入关于变量能否被调用的一些限制get/set输出私有变量方法继承继承是类与类之间的关系,我们可以让子类通过ex......
  • python面向对象的三大特性:封装性、继承性、多态性
    python面向对象的三大特性:封装性、继承性、多态性一、python中的封装在python代码中,封装具有两层含义:①在把现实世界中的实体中的属性和方法写到类的里面的操作即为封装。classPerson(object):#封装属性#封装方法②封装可以为属性和方法添加私有权限(属性和方......
  • 【Java 基础篇】Java继承:打开面向对象编程的大门
    继承是面向对象编程(Object-OrientedProgramming,OOP)中的一个重要概念。在Java中,继承允许一个类(子类)从另一个类(父类)继承属性和方法。这种机制使得代码重用、扩展和维护变得更加容易。本篇博客将深入探讨Java中继承的概念、语法和最佳实践,适用于初学者,让你轻松理解和运用继承的强大功......
  • css继承,position:fixed固定定位
    CSS继承是指元素可以继承其父元素的某些样式属性值。当一个元素应用了某个样式属性值,而其子元素没有显式地指定该属性值时,子元素会从父元素继承该属性值。以下是一些常见的CSS属性可以被继承的例子:1.字体样式属性:font-family、font-size、font-weight、font-style、line-heig......
  • 继承的重写
    1.继承中方法的重写重写(override)概念:在继承关系中,方法的名称一样,参数列表也一样重写(overide):方法的名称一样,参数列表【也一样】。也叫方法的覆盖,覆写。重载(overload):方法的名称一样,参数列表【不一样】方法覆盖重写的特点:创建的是子类对象,则优先用子类方法。2.方法覆盖重写的注意事......
  • 继承
    1.继承解决的问题:共性的抽取 。父类(基类,超类),子类(派生类)1publicclassEmployee{2publicvoidmethod(){3System.out.println("方法执行!");4}5}678publicclassTeacherextendsEmployee{91011}12131415publicclassDem......
  • python入门基础(14)--类的属性、成员方法、静态方法以及继承、重载
    上一篇提到过类的属性,但没有详细介绍,本篇详细介绍一下类的属性一、类的属性方法是用来操作数据的,而属性则是建模必不的内容,而且操作的数据,大多数是属性,比如游戏中的某个boss类,它的生命值就是属性(不同级别的boss,有不同的生命值),被攻击方法(不同的攻击,伤害值不同),当boss被攻击......
  • Java学习之路--oop--面向对象编程(封装、继承、多态)01
    packagecom.oop.demo01;importjava.io.IOException;//什么是面向对象/*面向对象编程:Object-OrientedPrograming(简称OOP)面向对象编程的本质就是:**以类的方式组织代码,以对象的组织(封装)数据抽象三大特性:封装继承多态*///Demo01-类publicclassDemo01{publicstaticvoid......