继承的注意事项 | 学习笔记

简介: 快速学习继承的注意事项,介绍了继承的注意事项系统机制, 以及在实际应用过程中如何使用。

开发者学堂课程【Python 入门 2020年版继承的注意事项】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/639/detail/10386


继承的注意事项


内容介绍:

一、Python 里的继承的特点


一、Python 里的继承的特点

class A(object):

def demo_a(self):

print('我是A类里的方法demo_a ' )

def foo(self):

print('我是A类里的foo方法')

class B(object):

def demo_b(self):

print('我是B类里的方法demo_b ‘)

def foo(self):

print('我是B类里的foo方法')

# Python里允许多继承

class C(A,B):  # 如果不写父类,Python3以后,默认继承自object

pass

c = C()

c.demo_a()

c.demo_b()

#如果两个不同的父类有同名方法,有一个类属性可以查看方法的调用顺序

c.foo()

print(c._mro_)  # (, , , )

如果想让 C 能用 A 的方法可以让 A 做 C 的父类,如过还想使用 B 的方法可以让A、B 同时做 C 的父类,Python 里允许多继承

多继承可能会出现一些问题,如果两个不同的父类有同名方法,有一个类属性可以查看方法的调用顺序

class A(object):

pass

class B(object):

def foo(self):

print('我是 B 类里的 foo 方法’)

class c(A):

def foo(self):

print('我是 c 类里的 foo 方法') 

class D(B):

pass 

class x(D,C) :

pass

x = X()

x.foo()

print(x.__mro__)

图片6.png

在此代码中 X 会以深度有限的顺序先查找 D 之后再查找 C。

相关文章
|
5月前
|
安全 Java API
ServletRequest类及其使用方法介绍
ServletRequest类及其使用方法介绍
144 6
|
C++
42 C++ - 继承概述
42 C++ - 继承概述
43 0
|
Java Scala 开发者
属性的注意事项|学习笔记
快速学习属性的注意事项。
属性的注意事项|学习笔记
|
Scala 开发者
覆写字段注意事项和细节说明2|学习笔记
快速学习覆写字段注意事项和细节说明2。
104 0
覆写字段注意事项和细节说明2|学习笔记
|
Java 程序员 Scala
抽象类使用注意事项和细节|学习笔记
快速学习抽象类使用注意事项和细节。
|
Java 程序员 编译器
覆写字段注意事项和细节说明1|学习笔记
快速学习覆写字段注意事项和细节说明1。
106 0
|
Java Scala 开发者
封装注意事项|学习笔记
快速学习封装注意事项。
107 0
|
网络协议 测试技术 Go
反射的注意事项和细节(1) | 学习笔记
快速学习反射的注意事项和细节(1)
|
网络协议 测试技术 Go
反射的注意事项和细节(2) | 学习笔记
快速学习反射的注意事项和细节(2)
下一篇
无影云桌面