关于python类的继承正确_# Python类(4)类的继承

本文介绍了Python中的类继承概念,包括单继承和多继承的语法,并通过实例展示了如何继承并重写父类的方法。子类可以继承父类的属性和方法,并根据需要进行扩展或修改,体现了面向对象编程的‘继往开来’思想。同时,文章强调了super()函数在初始化子类实例时的作用,以及多继承下方法调用的顺序。
摘要由CSDN通过智能技术生成

Python类(4)类的继承

类的继承格式

class 子类(基类):

pass

基类(父类): 被继承者(先辈)

子类:继承者(后辈)

如果没有基类,就用object

比如,我们前面几节课的内容,都是直接继承自object这个基类的.理论上,所有的类都是object的子类

可以用base属性查看子类的父类

查看子类的父类

class 子类(object):

pass

print(子类.__base__)

输出:

95128d2b9502

在这里插入图片描述

查看子类的父类的第二个示例

class 子类(object):

pass

class 孙子类(子类):

pass

print(孙子类.__base__)

输出:

95128d2b9502

在这里插入图片描述

除了这样的单继承之外,还可以多继承

多继承写法:

class 子类(父类,母类):

pass

这里只是举了个例子,有两个父类,也可以是三个,四个,五个

这里不再举例了,有兴趣的同学可以自行尝试

继承了什么

继承的目的有2个:

继往

开来

继往:就是原来有的,我都有

开来:就是原来没有的,我也可以有

继承的基本使用:

class A(object):

def __init__(self):

self.name = "张三"

def move(self):

print("我可以移动")

def swim(self):

print("游泳我也会哦")

class B(A):

def __init__(self):

super().__init__()

self.age = 10

def jump(self):

print("我还可以跳")

def move(self):

print("我的移动是飞哦")

b = B()

print(b.name)

print(b.age)

b.move()

b.jump()

b.swim()

95128d2b9502

在这里插入图片描述

代码分析:

A:是基类

B:是子类

A有一个实例属性name, 两个实例方法move(), swim()

B继承自A,自建了一个实例属性age, 一个实例方法jump(),改写了move()方法

从效果图可以看出来

b有name属性, 有age属笥

b的jump(),swim()方法

但是move()方法与A中自的那个move()方法是不一样的.这个过程称为重写(重载)

总结

子类继承父类时,父类可以有一个或多个

子类继承父类时,会把父类的实例属性,实例方法都继承过来

子类如果对父类的行为(方法)不习惯,可以选择改良(重写)

子类如果有构造函数,父类的构造函数将不会被自动调用,需要手动调用super().init()

如果子类有多个父类,在使用super().init()方法调用父类的构造函数时,会按照父类的顺序调用第一个有构造函数的父类的构造函数.

子类可以对父类没有想到的东西加以添加(子类可以新增属性,方法)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值