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

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

开发者学堂课程【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。

相关文章
|
2天前
|
安全 编译器 程序员
类与对象(二)--类的六个默认成员函数超详细讲解
类与对象(二)--类的六个默认成员函数超详细讲解
类与对象(二)--类的六个默认成员函数超详细讲解
|
8天前
|
Java
【Java开发指南 | 第九篇】访问实例变量和方法、继承、接口
【Java开发指南 | 第九篇】访问实例变量和方法、继承、接口
15 4
|
6月前
|
C++
42 C++ - 继承概述
42 C++ - 继承概述
25 0
C#简单接口和继承示例详解——快速入门
C#简单接口和继承示例详解——快速入门
|
前端开发
前端学习案例5-构造函数继承1
前端学习案例5-构造函数继承1
48 0
前端学习案例5-构造函数继承1
|
Java
Java面向对象(1)--对象的创建使用类的实例化
Java面向对象(1)--对象的创建使用类的实例化
69 1
|
Java 程序员 Scala
抽象类使用注意事项和细节|学习笔记
快速学习抽象类使用注意事项和细节。
65 0
|
Java 程序员 编译器
覆写字段注意事项和细节说明1|学习笔记
快速学习覆写字段注意事项和细节说明1。
84 0
|
Scala 开发者
覆写字段注意事项和细节说明2|学习笔记
快速学习覆写字段注意事项和细节说明2。
77 0
覆写字段注意事项和细节说明2|学习笔记
|
Java Scala 开发者
封装注意事项|学习笔记
快速学习封装注意事项。
80 0

热门文章

最新文章