面向对象三大特点及继承

面向对象的三大特征:继承 多态 封装

初识继承:

子类及子类实例化的对象,可以调用父类的任何方法和变量

类名可以访问父类所有内容

子类实例化的对象也可以访问父类所有内容

只执行父类中的方法:子类中不要定义与父类相同的方法

只执行子类的方法:在子类中创建这个方法

执行子类与父类中的方法:

1.通过父类中的构造函数将参数传入

2.利用super

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class Animal:
    def __init__(self,name,age,sex):
        self.name=name
        self.age=age
        self.sex=sex
    def eat(self):
        print("%s吃肉"%self.name)
 
 
class Cat(Animal):
    def __init__(self,name,sex,age,color):
        # Animal.__init__(self,name,sex,age)
        super().__init__(name,age,sex)
        self.color=color
    def eat(self):
 
        print("%s%s抓老鼠"%(self.color,self.name))
        super().eat()
 
c=Cat("阿花",'公',3,'白色')
c.eat()

  

继承的进阶

继承:单继承 多继承

类:经典类 新式类

python3中所有的类都是新式类,默认继承object类

经典类:默认不继承object的类都为经典类(python2中既有经典类又有新式类)所有的类都默认不继承object类

单继承:新式类 经典类查询顺序一致

多继承:新式类:遵循广度优先

    经典类:遵循深度优先

广度优先:一条路走到倒数第二级,判断,如果其他路能走到终点,则返回走另一条路,如果不能,走到终点

深度优先:一条路走到底

 

posted @   浮云遮月  阅读(117)  评论(0编辑  收藏  举报
编辑推荐:
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
阅读排行:
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· DeepSeek火爆全网,官网宕机?本地部署一个随便玩「LLM探索」
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(三):用.NET IoT库
· 上周热点回顾(1.20-1.26)
点击右上角即可分享
微信分享提示