广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python类的继承与多态详细介绍
  • 620
分享到

Python类的继承与多态详细介绍

2024-04-02 19:04:59 620人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录概念类的创建类的继承多态的使用概念 类(Class): 用来描述具有相同的属性和方法的对象的集合。 类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类

概念

类(Class): 用来描述具有相同的属性和方法的对象的集合

类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。

类有一个名为 __init__() 的特殊方法(构造方法),该方法在类实例化时会自动调用

self:self 代表的是类的实例,代表当前对象的地址,而 self.class 则指向类。

类调用 Car.weight

实例化  car01=Car(5)

实例对象调用  car01.weght

类的创建

#创建小汽车类和客车类
class Car(object):
    def __init__(self,weight):    #实例化对象时传入特有属性
        self.weight=weight
        print("小汽车")
        print(weight,"t")          #定义类内方法,功能是打印出实例化的小汽车的重量
    def func(self):
        print("小汽车的驾驶方法")
class Passenger_car(object):
    def __init__(self,weight):
        self.weight=weight
        print("客车")
        print(weight,"t")
    def func(self):
        print("客车的驾驶方法")       

类的继承

        我们在构造类时,python3默认我们继承了object这个基类,我个人理解object就是个空的类,可以不用管为何要在括号中写上object,这是python3的特性,在Python2中如果你没有写object的话不会默认继承了object这个基类。

        同样的我们自己希望继承的父类只需要把objetc改为我们自己定义的类名即可。子类中可以拥有父类中所有的公有属性和方法,但是可以通过在变量名前加下划线使其变为私有,这样子类就不可以访问父类中的成员了。

class Bus028(Passenger_car):
    def __init__(self,weight): #对基类方法的重写
        self.weight=weight
        print("28路公交车")
        print(weight,"t")
    def func(self):           #对基类方法的重写 
        print("28路公交车的驾驶方法")
    #子类在父类中继承过来了func方法,但是在父类中修改了原来方法的内容

多态的使用

        以下三个公交车类的父类均为客车类,我们可以写一个funcs方法使得每次调用funcs方法时,传入不同的对象以执行不同的func方法,具体实现如下:

class Bus028(Passenger_car):
    def __init__(self,weight):
        self.weight=weight
        print("28路公交车")
        print(weight,"t")
    def func(self):
        print("28路公交车的驾驶方法")
class Bus906(Passenger_car):
    def __init__(self,weight):
        self.weight=weight
        print("906路公交车")
        print(weight,"t")
    def func(self):
        print("906路公交车的驾驶方法")
class BusB32(Passenger_car):
    def __init__(self,weight):
        self.weight=weight
        print("B32路公交车")
        print(weight,"t")
    def func(self):
        print("B32路公交车的驾驶方法")
def funcs(obj):        #此处obj表示传入一个实例化对象
    obj.func()

主函数

from demo01 import *
def main():
    car01=Car(5)    #例化为带有重量为5t的一个具体对象
    car01.func()
    passenger_car01=Passenger_car(20)    #例化为带有重量为20t的一个具体对象
    passenger_car01.func()
    bus028_01=Bus028(15)        #例化为带有重量为15t的一个具体对象
    bus906_01=Bus906(15)        #例化为带有重量为15t的一个具体对象
    busB32_01=BusB32(15)        #例化为带有重量为15t的一个具体对象
    funcs(bus028_01)            #调用funcs方法
    funcs(bus906_01)
    funcs(busB32_01)
 
if __name__=="__main__":
    main()

        可以看到,我将小汽车实例化为带有重量为5t的一个具体对象,将客车实例化为带有重量为20t的一个具体对象,将三个公交车实例化为带有重量为15t的一个具体对象.

         如上图所示,我每次在调用funcs方法时都传入了一个实例化对象,funcs根据不同的对象执行相应的内部方法。

注:(我习惯上将方法读作函数,在以后的文章中,方法一律被函数代替)

到此这篇关于Python类的继承与多态详细介绍的文章就介绍到这了,更多相关Python继承与多态内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python类的继承与多态详细介绍

本文链接: https://www.lsjlt.com/news/161669.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python类的继承与多态详细介绍
    目录概念类的创建类的继承多态的使用概念 类(Class): 用来描述具有相同的属性和方法的对象的集合。 类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类...
    99+
    2022-11-12
  • C++继承与菱形继承详细介绍
    目录继承的概念和定义基类和派生类之间的赋值继承中的作用域派生类的默认成员函数菱形继承继承和组合的区分与联系其余注意事项继承的概念和定义 继承机制是面向对象程序设计的一种实现代码复用的...
    99+
    2022-11-13
  • Python的类、继承和多态简单介绍
    这篇文章主要讲解了“Python的类、继承和多态简单介绍”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python的类、继承和多态简单介绍”吧!类的定义假如要定义一个类 Point,表示二维...
    99+
    2023-06-17
  • Kotlin类的继承实现详细介绍
    1.在kotlin中,默认类都是封闭的closed的。如果要让某个类开放继承,必须用open关键字修饰 类中的方法默认也是关闭的。如果需要子类复写父类的方法,也必须用open修饰。 ...
    99+
    2022-11-13
  • java面向对象继承与多态介绍
    目录一.概述  二.继承2.1 继承的概述2.2 继承机制2.3 类中属性,方法的继承与覆盖2.4 super 关键字三. 多态总结一.概述 ...
    99+
    2022-11-12
  • Javascript继承机制的详细介绍
    这篇文章主要介绍“Javascript继承机制的详细介绍”,在日常操作中,相信很多人在Javascript继承机制的详细介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Ja...
    99+
    2022-10-19
  • Java继承与多态超详细梳理
    目录一、继承1、继承的概念2、继承的语法3、父类成员访问(1)子类中访问父类的成员变量(2)子类中访问父类的成员方法4、super关键字5、子类构造方法6、super和this7、代...
    99+
    2022-11-13
  • 详细总结Python类的多继承知识
    目录一、Python不同版本的类二、多继承三、多继承弊端四、Python多继承实现五、多继承的缺点六、Mixin 七、Mixin类一、Python不同版本的类 P...
    99+
    2022-11-12
  • 关于java中继承类的权限问题的详细介绍
    在Java中有一个比较容易忽略的问题,那就是继承类的权限与基类的权限之间的关系。因为平时在使用继承类的时候,可能很少会需要到修改基类的访问权限控制符,而是直接使用基类的访问权限控制符。如果基类有属性方法是private的,那么子类是否可以修...
    99+
    2019-09-11
    java教程 java 继承类 权限
  • Java接口的继承与抽象类介绍
    这篇文章主要讲解了“Java接口的继承与抽象类介绍”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java接口的继承与抽象类介绍”吧!在实施接口中,我们利用interface语法,将inter...
    99+
    2023-06-02
  • 一篇文章超详细的介绍Java继承
    目录前言继承继承的优点重写和隐藏父类方法重写父类中的方法隐藏父类中的方法方法重写和隐藏后的修饰符子类访问父类私有成员使用super关键字使用super调用父类的无参数构造方法/有参数...
    99+
    2022-11-13
  • 一篇文章带你详细理解java中类的继承与多态
    类的继承子类及其定义子类的定义使用关键字extends格式:class SubClass extends SuperClass{ ........ }子类可以继承父类的属性和方法;子类不能继承带private修饰符的属性,方法;子类不能继承...
    99+
    2017-08-28
    java入门 java 继承 多态
  • Python中类继承与多态的示例分析
    这篇文章主要介绍了Python中类继承与多态的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。概念类(Class): 用来描述具有相同的属性和方法的对象的集合。类变量:...
    99+
    2023-06-22
  • C++的类与C#的类详细介绍
    本篇内容介绍了“C++的类与C#的类详细介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!许多编程人员学习C++总结经验为,有的觉得C++语...
    99+
    2023-06-17
  • 详细介绍python类及类的用法
    目录一、类的成员1.1 类的属性1.1.1 静态属性的创建方式1.1.2 实例属性1.2 类的方法二、类成员的修饰符三、类的特殊成员3.1 __doc__3.2  ...
    99+
    2022-11-12
  • Java超详细讲解继承和多态的使用
    目录继承和多态1、继承1.1、继承概念1.2、继承的语法1.3、父类成员的访问1.31、子类和父类不存在同名成员变量1.32、子类和父类成员变量同名1.33、成员方法名字不同1.34...
    99+
    2022-11-13
  • Java对象与Java类的详细介绍
    本篇内容介绍了“Java对象与Java类的详细介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!目录面向对象是什么Java类什么是类Java...
    99+
    2023-06-20
  • 详细介绍Python的鸭子类型
    鸭子类型基本定义 首先Python不支持多态,也不用支持多态,python是一种多态语言,崇尚鸭子类型。 以下是维基百科中对鸭子类型得论述: 在程序设计中,鸭子类型(英语:duck typing)是动态类...
    99+
    2022-06-04
    详细介绍 鸭子 类型
  • java面向对象——多态的详细介绍
    一、概述多态是继封装、继承之后,面向对象的第三大特性。生活中,比如跑的动作,小猫、小狗和大象,跑起来是不一样的。再比如飞的动作,昆虫、鸟类和飞机,飞起来也是不一样的。可见,同一行为,通过不同的事物,可以体现出来的不同的形态。多态,描述的就是...
    99+
    2020-05-09
    java入门 java 面向对象 多态
  • Python中类的mro与继承关系详解
    目录前言类继承mro总结前言 版本: windows 10.0python 3.8 类 在Python数字比较与类结构中有简略提到类,那么什么是类呢? 在python中定义一个类很简...
    99+
    2022-11-11
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作