Python小白学习教程从入门到入坑------第二十四课 继承(语法进阶)

目录

一、继承

1.1 语法

1.2 单继承

1.3 继承的传递(多重继承)

1.4 方法的重写

二、新式类写法

2.1 第一种经典类

2.2 第二种经典类

2.3 新式类 (推荐使用)

三、多继承

3.1 子类可以拥有多个父类,并且具有所有父类的属性和方法

3.2 不同的父类存在同名的方法

3.3 方法的搜索顺序(了解)



一、继承

继承就是让类和类之间转变为父子关系,子类默认继承父类的属性和方法

在Python中,继承是一个非常强大的特性,它允许我们创建一个新的类(称为子类),这个新类可以继承另一个类(称为父类或基类)的属性和方法

这样,子类就可以复用父类的代码,同时还可以添加新的属性和方法或者重写父类的方法来实现特定的功能

想象一下,你有一个“动物”类,这个类描述了所有动物共有的属性和方法,比如“吃”和“呼吸”

然后,你想创建一个特定的动物类,比如“狗”,狗也是动物,所以它应该继承“动物”类的所有属性和方法,但同时,狗还有一些特有的属性和方法,比如“叫”和“摇尾巴”

通过继承,你可以这样做:

首先,定义一个“动物”类,包含所有动物共有的属性和方法

然后,定义一个“狗”类,让它继承自“动物”类。这样,“狗”类就自动拥有了“动物”类的所有属性和方法

最后,你可以在“狗”类中添加狗特有的属性和方法

1.1 语法

class 类名(父类名):
    代码块...

注意:继承分为单继承和多继承

1.2 单继承

单继承是指一个子类只继承一个父类的情况

这是最简单、最直接的继承方式

在单继承中,子类可以访问父类的所有公开(public)和受保护(protected)成员(属性和方法),但不能直接访问私有(private)成员(通常以双下划线__开头的成员名)

不过,通过一些特殊的方法(如名称修饰),子类仍然可以间接地访问这些私有成员

eg:

class Person:     # 父类
    def eat(self):
        print("我会吃饭")
    def sing(self):
        print("我是唱歌小能手")
class Girl(Person):   # Person类的子类
    pass    # 占位符,代码里面类下面不写任何东西,会自动跳过,不会报错
class Boy(Person):   # Person类的子类
    pass
girl = Girl()
girl.eat()
girl.sing()
# 输出内容:
# 我会吃饭
# 我是唱歌小能手
boy = Boy()
boy.eat()
boy.sing()
# 输出内容:
# 我会吃饭
# 我是唱歌小能手
# 总结:子类可以继承父类的属性和方法,就算子类自己没有,也可以使用父类的。

1.3 继承的传递(多重继承)

A/B/C  C(子类) 继承于B(父类), B类 (子类) 继承A类 (父类), C类具有 A/B 类的属性和方法

子类拥有父类的父类的属性和方法

eg:

class Father:    # 父类
    def eat(self):
        print("吃饭")
    def sleep(self):
        print("睡觉")
class Son(Father):    # Father类的子类
    pass
class Grandson(Son):  # Son的子类
    pass
grandson = Grandson()
grandson.eat()
grandson.sleep()
# 输出结果:
# 吃饭
# 睡觉
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

糊涂君-Q

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值