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

相关推荐
X566113 小时前
如何在 Laravel 中正确保存嵌套动态表单数据(主服务与子服务)
jvm·数据库·python
Slow菜鸟13 小时前
AI学习篇(五) | awesome-design-md 使用说明
人工智能·学习
ZhengEnCi13 小时前
03ab-PyTorch安装教程 📚
python
ZC跨境爬虫13 小时前
跟着 MDN 学 HTML day_9:(信件语义标记)
前端·css·笔记·ui·html
狐狐生风14 小时前
LangChain 向量存储:Chroma、FAISS
人工智能·python·学习·langchain·faiss·agentai
狐狐生风14 小时前
LangChain RAG 基础
人工智能·python·学习·langchain·rag·agentai
老前端的功夫14 小时前
【Java从入门到入土】28:Stream API:告别for循环的新时代
java·开发语言·python
yaoxin52112315 小时前
397. Java 文件操作基础 - 创建常规文件与临时文件
java·开发语言·python
dFObBIMmai15 小时前
MySQL主从同步中大事务导致的延迟_如何拆分大事务优化同步
jvm·数据库·python
szccyw015 小时前
mysql如何限制特定存储过程执行权限_MySQL存储过程安全访问
jvm·数据库·python