Python Day24:类的继承、派生、覆盖、super()、绑定、非绑定方法

1## 类的继承、派生、覆盖、super() 2 3```python 4类的继承: 5 子类继承父类,只需要在定义类的时候在类名后面加上(父类名)。 6 继承之后,父类的属性方法、子类都可以访问 7派生: 8 子类继承父类后,自己在父类的基础上,又添加了一些属于自己特性的属性、方法 9覆盖: 10 子类继承父类后,父类的有些属性、方法不能满足自己要求,子类就创建同名的方 法、属性,但是其值和父类不同,这样再访问同名属性、方法的时候,优先访问自 己的,就把父类的属性方法给覆盖了 11super():父类的方法、属性被子类覆盖或者其他原因,子类需要访问父类的内容。有 两种方法,第一:指名道姓父类名字,用点语法访问。 12 第二:用super()方法 点 父类的属性、方法 13 14``` 15 16 17 18### 在python中,一切皆对象!int float list dict 模块 包。。。等等都是对象 19 20## "__init__"初始化、绑定方法与非绑定方法: 21 22```python 23创建对象的过程也是实例化的过程 24当修改某一个对象的属性、方法时,不会影响其他对象以及类 25__init__方法: 26 执行时机:当实例化产生对象时,会自动执行该函数 27 会自动传入需要初始化的对象,初始化的对象的实参必须等于init中参数 28 初始化至少包含一个参数,用于表示对象本身! 29 该函数不允许有返回值 30实例化对象时: 31 1,产生一个空对象(空的名称空间) 32 2,自动调用__init__方法,并把这个对象以及额外实参传入 33 例子:p=Person("赵敏",18) 34绑定方法: 35 对象绑定方法: 36 类中的属性、方法都是默认绑定给对象的。即:对象调用时,会默认把对象作为第 一个参数传入给属性、方法,可以直接调用。当类调用时,跟普通函数一样,需要 把self这个参数也传入,否则报错:参数不够。 37 类绑定方法:@classmethod 38 在该方法前加@classmethod,即是类绑定方法!类绑定方法,主要是因为这个方法 需要类的信息。 39 类访问会把类名默认作为第一个参数自动传入。对象访问时,会把对象的类名作为 第一个参数默认传入。其他访问,要主动传入类名,否则报错。 40 静态绑定方法@staticmethod 41 不需要访问类、也不需要访问类。跟普通方法没什么区别。 42 43 44 45```
点赞
收藏

评论区

加载中...

相关推荐

一篇文章带你搞懂Python中的继承和多态

一、继承的介绍继承是一种创建新的类的方式,新创建的叫子类,继承的叫父类、超类、基类。继承的特点就是子类可以使用父类的属性(特征、技能)。继承是类与类之间的关系。继承可以减少代码冗余、提高重用性。在现实生活中,继承一般指的是子女继承父辈的财产,如下图:二、如何用继承?1.继承语法Class派生类名(基类名):基类名写在括号里。在继承关系中,已有的,设计好

java中多态的实现机制

多态的概念:  简单来说就是事物在运行过程中存在的不同状态,即父类或接口定义的引用变量指向子类或具体实现类的实例对象。程序调用方法在运行期才进行动态绑定,而不是引用变量的类型中定义的方法。多态存在的前提:1、存在继承关系,子类继承父类;2、子类重写父类的方法;3、父类引用指向子类对象。具体实例:1、定义一个父类:Animal

java向上转型和向下转型1

  在java继承体系中,认为父类(超类)在上层,子类在下层(派生类),向上转型就是把子类对象转成父类对象。1publicclassFather{2publicvoideat(){3System.out.println("我是父类的方法吃。。。。。");4}

java中经常问到的面试题

1、面向对象编程的三大特性是什么?(1).继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例

你不可不知的JS面试题(第二期)

1、什么是继承?子类可以使用父类的所有功能,并且对功能进行扩展。新增方法改用方法(1)、ES6使用extends子类继承父类的方法。// 父类    class A        constructor(name)            this.name name;                getNa

Python3中的super()函数详解

关于Python3中的super()函数我们都知道,在Python3中子类在继承父类的时候,当子类中的方法与父类中的方法重名时,子类中的方法会覆盖父类中的方法,那么,如果我们想实现同时调用父类和子类中的同名方法,就需要使用到super()这个函数,用法为super().函数名()下面是一个例子: