学习Python的笔记--面向对象-继承

1、概念

多个类之间的所属关系,即子类默认继承父类的所有属性和方法。

注:所有类默认继承object类,object类是顶级类或基类;

其他子类叫做派生类。

python 复制代码
#父类A
class A(object):
    def __init__(self):
        self.num=1
    def info_print(self):
        print(self.num)
#子类B
class B(A):
    pass
result=B()
result.info_print()
#1

2、单继承

徒弟要学习师傅的古法煎饼果子配方

师父要把这套技术传授给他的唯一的最得意的徒弟。

python 复制代码
#1.师父类
class Master(object):
    def __init__(self):
        self.kongfu='[古法煎饼果子配方]'
    def make_cake(self):
        print(f'运用{self.kongfu}制作煎饼果子')
#2.徒弟类
class Prentice(Master):
    pass
#3.创建对象daqiu
daqiu=Prentice()

#4.对象访问实例属性
print(daqiu.kongfu)

#5.对象调用实例方法
daqiu.make_cake()

3、多继承

一个类同时继承了多个父类。

注意:当一个类有多个父类的时候,默认使用第一个父类的同名属性和方法。

python 复制代码
#创建师傅类
class Master(object):
    def __init__(self):
        self.kongfu='[古法煎饼果子配方]'
    def make_cake(self):
        print(f'运用{self.kongfu}制作煎饼果子')

#创建学校类
class School(object):
    def __init__(self):
        self.kongfu='[码途钥匙煎饼果子配方]'
    def make_cake(self):
        print(f'运用{self.kongfu}制作煎饼果子')

#创建徒弟类
class Prentice(School,Master):
    pass

daqiu=Prentice()#创建对象daqiu
print(daqiu.kongfu)#对象调用实例对象  [码图钥匙煎饼果子配方]
daqiu.make_cake()#对象实例方法  运用码图钥匙煎饼果子配方制作煎饼果子

4、子类重写父类同名方法和属性

daqiu掌握了师父和培训的技术后,自己潜心钻研出自己的独门配方的一套全新的煎饼果子技术。

注:子类调用父类的同名方法和属性

5、子类调用父类的同名方法和属性

6、多层继承

即徒弟再传给徒孙

7. super()调用父类方法

8、私有权限

1、定义私有属性和方法

可以为实例属性和方法设置私有权限,即设置某个实例属性或实例方法不继承给子类。

设置私有权限的方法:在属性名和方法名前面加上两个下划线__。

注意:私有属性和私有方法只能在类里面访问和修改。

2、获取和修改私有属性值

在Python中,一般定义函数名get_xx 用来获取私有属性,定义set_xx用来修改私有属性值。

相关推荐
青少儿编程课堂21 分钟前
后缀自动机解析:本质不同子串与最长重复片段统计
c++·python·算法·bfs·信息学竞赛
怕浪猫1 小时前
LLM 面试必问的 8 个问题,答不上来直接淘汰
人工智能·python·面试
老歌老听老掉牙2 小时前
从三维旋转的深度解析到Python实现:绕任意轴旋转的奥秘
python·三维旋转
FakeOccupational2 小时前
【电路笔记 信号】DBPSK 波形查找表+脉冲成形(升余弦+根升余弦滤波)
开发语言·笔记
打工仔折腾 AI2 小时前
工业场景下时序库与实时计算一体化架构选型实践对比
java·开发语言·后端·python·性能优化·架构·ai agent 实战
梦幻精灵_cq2 小时前
sumdir——一个伪python.built-in的“术法”打造
python
传奇开心果编程2 小时前
【SwiftUI提高练中学】第13课 实时活动与灵动岛:ActivityKit 实战
学习·ui·ios·swiftui·swift
欣欣之王来了3 小时前
Python入门:什么是Python以及为什么选择它
学习·架构·面向对象·项目·python教程
dadaobusi3 小时前
pcie原子操作和nvme原子操作
学习
sunshine22 girl3 小时前
Java学习五 面向对象高级5 内部类1
java·学习