[Python]继承(一)

简介: [Python]继承

image.png

前言

系列文章目录

[Python]目录

视频及资料和课件

链接:https://pan.baidu.com/s/1LCv_qyWslwB-MYw56fjbDg?pwd=1234

提取码:1234

视频链接

根据视频进行整理

Python继承

目标

  1. 继承的概念
  2. 单继承
  3. 多继承
  4. 子类重写父类的同名属性和方法
  5. 子类调用父类的同名属性和方法
  6. 多层继承
  7. super()
  8. 私有属性和私有方法

1 继承

1.1 继承的概念

在日常生活中,继承,即子代继承父代的财产。

面向对象编程中,继承,即子类继承父类的属性与方法

因此,即使子类中没有任何属性与方法,只要继承了父类,就可以拥有父类的属性与方法。

继承的作用:可以简化代码。

1.2 (拓展)经典类和新式类

在python中,不同版本的解释器下,类默认有两种执行方式,一种按照经典类执行,一种按照新式类执行。

现在,使用的python解释器版本基本为3.0。

在python2.0版本的解释器下,类的执行默认按照经典类的方式执行:

class 类名:
  代码
  ......

在python3.0版本的解释器下,类的执行默认按照新式类的方式执行:

一个类如果没有继承其他类,会默认继承一个所有类的顶级类,object。

没有写继承的类,在括号中无论是否有写object,都会默认继承object。

object,也称为基类。

class 类名(object):
  代码
  ......

在以后书写类的代码,一般都写成新式类的形式。

类名后面的括号中写要继承的类。

1.3 体验继承

Python面向对象的继承指的是多个类之间的所属关系,即子类默认基础父类的所有属性和方法

继承的作用:简化代码的书写。

不同的类拥有相同的属性和方法,可以使用继承来简化代码的书写。

在Python中,所有类默认继承object类,object类是顶级类或基类,其他的类叫做派生类。

由于object类之外的其他类,要么继承其他类,要么默认继承object类,即其他类都派生于某个类,所以object类之外的其他类叫做派生类。

# 父类
# 也可以写成:class A():
# 因为没有指定继承的类,会默认继承object类
class A(object):
    def __init__(self):
        self.num = 1
    def print_info(self):
        print(self.num)
# 子类
class B(A):
    pass
b = B()
b.print_info()

由于B继承A,所以B会拥有A的所有方法,在实例化B类的对象b时,会自动调用从A类继承过来的__init__()方法,初始化实例的对象b。

由于继承了所有方法,实例化的对象b也可以调用print_info()方法。

2 单继承

单继承,即一个父类被一个子类继承,一个子类继承一个父类

场景:一位老师傅要将其煎饼果子的配方传授给其徒弟。

# 师傅类
class Master(object):
    def __init__(self):
        self.kongfu = '[古法煎饼果子配方]'
    def make_cake(self):
        print(f'运用{self.kongfu}制作煎饼果子')
# 徒弟类
class Prentice(Master):
    pass
# 实例化徒弟对象
prentice = Prentice()
# 徒弟使用从师傅那继承的配方制作煎饼果子
prentice.make_cake()

3 多继承

假设上述例子中徒弟的姓名为大邱,大邱在继承煎饼果子配方后,还想学习编程技术,于是报班学习编程技术。

于是,大邱不仅从师傅那继承了煎饼果子的配方,还从培训班那学习到了编程技术。

多继承,即一个类同时继承多个父类

注意:

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

# 师傅类
class Master(object):
    def __init__(self):
        self.kongfu = '[古法煎饼果子配方]'
    def make_cake(self):
        print(f'运用{self.kongfu}制作煎饼果子')
# 培训机构
class School(object):
    def __init__(self):
        self.kongfu = '[Python]'
    def make_cake(self):
        print(f'运用{self.kongfu}编写程序来制作煎饼果子')
# 徒弟类
class Prentice(School, Master):
    pass
# 实例化徒弟对象
prentice = Prentice()
# 制作煎饼果子
prentice.make_cake()


相关文章
|
6月前
|
Python
Python中的继承:概念、用法与示例
Python中的继承:概念、用法与示例
69 0
|
6月前
|
Python
请简述Python中的继承、封装和多态的概念。
【2月更文挑战第24天】【2月更文挑战第82篇】请简述Python中的继承、封装和多态的概念。
42 1
|
3月前
|
算法 Python
python多继承的3C算法是什么?怎么用?
有很多地方都说python多继承的继承顺序,是按照深度遍历的方式,其实python多继承顺序的算法,不是严格意义上的深度遍历,而是基于深度遍历基础上优化出一种叫3C算法
|
3月前
|
算法 Python
Python 中的继承:强大的代码复用机制
【8月更文挑战第23天】
45 0
|
6月前
|
Python
Python中的面向对象编程与继承
本文将深入探讨Python中面向对象编程的核心概念,重点讨论继承的实现原理以及在实际开发中的应用。通过详细的示例和解释,读者将能够全面理解Python中继承的使用方式和优势,为提高代码的复用性和可维护性提供有效的技术支持。
|
5月前
|
Python
Python面向对象进阶:深入解析面向对象三要素——封装、继承与多态
Python面向对象进阶:深入解析面向对象三要素——封装、继承与多态
|
6月前
|
Python
Python进阶---面向对象 继承
Python进阶---面向对象 继承
26 1
|
6月前
|
Python
Python 继承
Python 继承
34 0
|
6月前
|
Python
Python继承:深入探索与实际应用
Python中的继承是OOP三大特性之一,允许子类继承父类的属性和方法,实现代码重用和扩展。子类通过`class`关键字和父类名定义,支持单继承和多继承。子类可覆盖父类方法,使用`super()`调用父类同名方法。继承在实际应用中如游戏开发,可创建类体系,提高代码复用性,实现模块化和层次化。掌握继承对于构建高效软件系统至关重要。
|
6月前
|
Python
Python从入门到精通:深入学习面向对象编程——2.1.2继承、封装和多态的概念
Python从入门到精通:深入学习面向对象编程——2.1.2继承、封装和多态的概念
下一篇
无影云桌面