学习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用来修改私有属性值。

相关推荐
孞㐑¥2 小时前
Linux之Socket 编程 UDP
linux·服务器·c++·经验分享·笔记·网络协议·udp
郭庆汝2 小时前
pytorch、torchvision与python版本对应关系
人工智能·pytorch·python
sealaugh324 小时前
aws(学习笔记第四十八课) appsync-graphql-dynamodb
笔记·学习·aws
水木兰亭5 小时前
数据结构之——树及树的存储
数据结构·c++·学习·算法
思则变5 小时前
[Pytest] [Part 2]增加 log功能
开发语言·python·pytest
鱼摆摆拜拜5 小时前
第 3 章:神经网络如何学习
人工智能·神经网络·学习
aha-凯心5 小时前
vben 之 axios 封装
前端·javascript·学习
漫谈网络5 小时前
WebSocket 在前后端的完整使用流程
javascript·python·websocket
freexyn7 小时前
Matlab自学笔记六十一:快速上手解方程
数据结构·笔记·matlab
try2find7 小时前
安装llama-cpp-python踩坑记
开发语言·python·llama