用三个实例说明python类多态和重载。

Python面向对象编程:合集篇(类、对象、封装、继承和多态) 这篇万字长文,带你真正了解应用Python的面向对象。 面向对象编程(Object-Oriented Programming,OOP)是一种程序设计范式,它以对象为中心,将数据和操作数据的方法(函数)组合到一个单元中,这个单元就是对象。每个对象都是类的一个实例,而类则定义了对象的属性(数据)和方法(代码)。换句话说,面向对象编程将现实世界中的实体抽象为程序中的对象,这些对象可以相互交互、传递消息,并且可以继承和扩展。 阅读详情
用三个实例说明python类多态和重载。


#coding:utf-8


"""


本代码写在2013-1-7日下午4:00


先前写的代码有误,重新写一个。


由sina微博"python爱好者所写",提供"python培训_python从零基础到网页采集和web开发培训"


http://www.qy7788.com.cn/shiyongxinxi/shiyongxinxi161.html


用三个实例说明python类多态和重载。


同一个类中相同函数名,不同参数或参数个数实现重载。


python子类中重写父类中的方式,就覆盖了父类的方法。


python也可以实现多态,但重载不支持。


注意覆盖父类的__init__方法有2种调用方式






"""


class MyClass(object):


   def __init__(self,name,address,telelphone,text):


       """self.name = "黄老师"


       self.address = "北京市海淀区永定路东街乙六号东轻宾馆206室"


       self.telephone = "010-68165761"


       """


       self.name = name


       self.address = address


       self.telelphone = telelphone


       self.text = text






   def print_test(self,name):


       print self.name


       


   def print_test(self,address):


       print self.address


       


   def print_test(self,telelphone):


       print self.telelphone


       


   def print_test(self,text):


       print self.text










       


name = "黄老师"


address = "北京市海淀区永定路东街乙六号东轻宾馆206室"


telephone = "010-68165761 qq:1465376564"


text = "python培训_python从零基础到网页采集和web开发培训"


       


mytest =MyClass(name,address,telephone,text)


mytest.print_test(name)


mytest.print_test(address)


mytest.print_test(telephone)


mytest.print_test(text)










#python实现多态实例一,注意覆盖父类的__init__方法有2种调用方式


class AA(object):


   def __init__(self):


       pass


   def get(self):


       d=5


       return d


   


class BB(AA):


   def __init__(self):


       AA.__init__(self)


   def get(self):


       d=3


       return d


class DD(AA):


   def __init__(self):


       AA.__init__(self)


   def get(self):


       d=4


       return d










def getNum(cc):


   print cc.get()






first = AA()


second = BB()


third = DD()






getNum(first)


getNum(second)


getNum(third)






















#python实现多态实例二


class Animal(object):


   def __init__(self):


       pass


   def Eat(self):


       pass










class Chicken(Animal):


   def __init__(self):


       super(Chicken, self).__init__()


   def Eat(self):


       print 'the chicken has been eat'










class Dog(Animal):


   def __init__(self):


       super(Dog, self).__init__()


   def Eat(self):


       print 'the dog has been eat'










#实现一个调用的方法,这里也用类来实现吧


class Person(object):


   """


    只需要通过参数来确定调用哪个方法。这只是python实现多态的一种.


   """


   def __init__(self,name):


       self.name = name


   def Feed(self, ped):


       ped.Eat()














Kobe = Person('Kobe')#给调用者取个名字吧


pedChicken = Chicken()#建立一个小鸡宠物


pedDog = Dog()#建立一个小狗宠物


Kobe.Feed(pedChicken)#Feed方法根据传入的参数不同调用


Kobe.Feed(pedDog)
面向对象设计——类的继承和多态(包含方法重写,运算符重载) 这里写目录标题一、类的继承(1)要点:(2)代码演示:二、类的多继承定义三、方法重写(1)定义:(2)代码:(3)补充: 一、类的继承 (1)要点: 1、在继承关系中,已有的、设计好的的类称为父类或基类,新设计的类称为子类或派生类。 2、派生类可以继承父类的公有成员,但是不能继承其私有成员。 3、在继承中基类的构造函数[init()方法]不会被自动调用,它需要在其派生类的构造中亲自专门调用。 4、如果需要在派生类中调用基类的方法是,通过“基类名。方法名()”的方式来实现,需要带上基类的类名前缀且需要带上se 阅读详情

相关推荐

重载,重写,和多态的概念

大家好,今天的文章主要是关于方法重载,重写以及多态的概念以及围绕他们的一些相关的概念.

huahaiovo的博客 634

Python关于多态的练习

题目描述: 设计一个基类可以完成动作思考、吃和睡; 通过继承完成人、马和猫的动作思考、吃和睡; 定义一个行为类实现不同对象的动作思考、吃和睡; 通过实例化对人、马和猫的各个动作的调用。 设计一个基类可以完成动作思考、吃和睡; class Basse: def Think(self): print("思考") def Eat(self): print("吃") def Slee...

weixin_46601559的博客 1490

Python面向对象编程及三大特征(封装,继承,多态)实例简析

0,什么是 “ 面向对象编程 ” ? 1,面向对象的基础实例 2,什么是封装?Python的封装有哪三种形式? 3,Python中的继承 4,Python中的多态 零 什么是 “ 面向对象编程 ” ? 面向对象(Object Oriented)是软件开发方法。面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络...

Alexz__的博客 1583

python基础——方法、重载、继承、多态

python 基础

qq_41068750的博客 1271

第十二章Python继承和多态习题与答案--中文

第十二章Python继承和多态习题与答案--中文

以太网硬件核心:MAC、PHY、MII与交换机原理与实战排查

计算机网络通信的基础依赖于一套完整的硬件协议栈。在OSI模型中,数据链路层和物理层是实现设备间可靠、高效数据传输的基石。其核心原理在于将上层数据包封装成帧,并通过特定的介质访问控制与物理信号转换机制进行传输。这一过程的技术价值在于为上层应用提供了透明、稳定的通信信道,是互联网和所有局域网通信的物理承载。在嵌入式系统、网络设备开发及运维等应用场景中,深入理解底层硬件交互至关重要。本文将聚焦于以太网硬件的两大核心组件:负责逻辑成帧与流量控制的MAC控制器,以及负责数模转换与链路协商的PHY芯片。它们通过MII、

dgqvhtlwq472235338的博客 424

Python函数的重载、多态和继承

Python函数的重载、多态和继承

清風明月_xf 的博客 1万+

第二十届全国大学生智能汽车竞赛极速光电组:MicroPython与恩智浦RT1021的硬件编程实战指南

本文为参加第二十届全国大学生智能汽车竞赛极速光电组的同学提供了一份详尽的MicroPython与恩智浦RT1021硬件编程实战指南。文章深入剖析了选择MicroPython与RT1021这对组合的优势,详细讲解了从开发环境搭建、基础硬件控制(如GPIO、PWM、编码器、CCD)到系统集成(平衡控制、循迹算法)与多任务调试的全过程,旨在帮助参赛者降低嵌入式开发门槛,高效备赛。

wdx0123456的博客 845

python3:面向对象(多态和继承、方法重载及模块)

1、多态 同一个方法在不同的类中最终呈现出不同的效果,即为多态。 class Triangle: def __init__(self,width,height): self.width = width self.height = height def getArea(self): area=self.width* self.h...

sunshine_lyn的博客 1万+

C++调用海康相机SDK采集图像(C++\QT Creator\openCV\线程\接口)

C++调用海康相机SDK采集图像(C++\QT Creator\openCV\线程\接口) 之前写了一篇关于C++调用海康相机SDK采集图像的文章,有很多人私下发送消息咨询了一些问题,由于工作繁忙,只答复了一部分问题,今天抽出时间从头梳理了一下大家提出的问题,把我能够回答的问题都解答一次。上一次的程序只是简单的实现了图像的采集,没有使用到线程,今天把程序重新做出调整,把线程和多态加进去。文章最后有项目的下载地址。 我使用的是QT Creator这个IDE,版本信息如下: 我把相机采集的图像转换为openC

大樱桃的博客 1万+

【第六届起重机创意大赛国一作品——资料分享】

文章目录前言一、比赛内容分析二、确定方案与作品模型1.方案简图2.作品模型三、电控部分控制思路单片机选择与资源分配拓展板的设计接线与走线代码分享总结

qq_19308801的博客 7783

Python中的类(3)——继承,多态,重载

对于(类)class有下列概念即定义: 类(Class):用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。 类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。 数据成员:类变量或者实例变量用于处理类及其实例对象的相关的数据。 方法重写:如果从父类继承的方法不能满足子类的需求,可以...

金鳞踏雨 4975

在overleaf中使用bibtex引用参考文献

最近在挑选写tex的平台,挑来挑去,个人感觉overleaf给我带来的体验感是最舒适的。不过由于对内部的文件组织和make进行了一层封装,所以与一般的本地平台编译tex会有一点不同。此处写一下在overleaf中使用bibtex的方法。 在tex中使用bibtex引用文献是一件很舒适的事,毕竟这是tex的优点之一(要是tex比word难用,我干什么不去用word,hhh) 第一步,我们创建一个.bib文件,名字随便起,我这边起为reference.bib。 然后打开谷歌学术,搜索你想要引用的文章,并找到

锦恢的博客 4万+

Python类和对象-给你介绍个对象?

大过年的,来都来了,要不给你介绍个对象?

有一分热,发一分光。 6835

一文讲透 .claude/ 文件夹:Claude Code 团队配置指南和最佳实践

本文系统梳理了ClaudeCode配置框架,旨在解决实际落地中的常见困惑。文章从五层作用域体系(组织策略、命令行参数、本地覆盖、项目级、用户级)切入,详细解析了CLAUDE.md、rules、skills、agents等核心组件的定位与配合关系。重点强调了"确定性规则"与"概率性建议"的分层设计:权限控制和安全边界应通过settings.json和hooks实现,而工作约定和编码规范适合放在CLAUDE.md。文中提供了可直接套用的最小配置方案,并总结了10大常见踩坑

979

Fiori Elements 从入门到精通开发教程的文章目录

Fiori Elements 开发技术相对 SAP 其他历史悠久,发展成熟的开发技术来说,是一个新事物。正因如此,迄今为止国内深入讲解 Fiori Elements 应用的中文材料几乎没有。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 4792

python重载和多态问题

python不像java,c++等面向对象一样存在着多态和重载的问题,在python中用缺省参数很好的实现了多态和重载,在python中只存在着重写 一.多态的实现 class Student(object): def __init__(self,name=None,age=None,grade=None): self.name=name self

lxslx的博客 1124

python实现Markowitz模型 (附完整源码)

python实现Markowitz模型 (附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 405

老前辈常谈python之鸭子类和多态

@本文来源于公众号:csdn2299,喜欢可以关注公众号 程序员学府 下面小编就为大家带来一篇老生常谈python之鸭子类和多态。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧 一、 什么是多态 <1>一种类型具有多种类型的能力 <2>允许不同的对象对同一消息做出灵活的反应 <3>以一种通用的方式对待个使用的对象 <4>...

python基础学习教程 2228

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Python中的面向对象编程,类,对象,封装,继承,多态

在python中使用class关键字创建一个类。语法格式1:# 公共的属性passpasspass语法格式2:# 公共的属性passpasspass实例化对象的语法:1》无参对象名 = 类名()2》有参对象名 = 类名(参数列表)第一个 __init__()方法是一种特殊的方法,被称为类的构造函数或初始化方法,当创建了这个类的实例时就会自动调用该方法。不是必须要定义的,可以在需要的时候再定义。

qq_69220879的博客 1228

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Python类和对象

类是创建对象的 ”模板”。数据成员:表明事物的特征。相当于变量方法成员:表明事物的功能。相当于函数通过class关键字定义类。

ZHINV_的博客 856

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

python【类和面向对象】

python类和对象相关

在下的博客 841

Python 笔记:全网最详细最小白的Class类和实例详解

文章目录一、基本概念1.1 概念1.2 代码实例二、面向对象三大特性解析2.1 封装2.2 继承2.3 多态三、进阶3.1 基础重载方法3.2 下划线说明 面向对象最重要的概念就是类(class)和实例(instance),类是抽象,而实例(Instance)则是一个个具体的对象 面向对象三大特点:封装、继承和多态 class Animal(object): def __init__(se...

零度的博客 847

python 多态 知乎_老生常谈python之鸭子类和多态

一、 什么是多态<1>一种类型具有多种类型的能力<2>允许不同的对象对同一消息做出灵活的反应<3>以一种通用的方式对待个使用的对象<4>非动态语言必须通过继承和接口的方式来实现二、 python中的多态<1>通过继承实现多态(子类可以作为父类来使用)<2>子类通过重载父类的方法实现多态class Animal:def move...

weixin_39674978的博客 115

python 函数变量继承_python封装、继承、多态、方法重载、重写

1.封装将方法和变量放入类中,统一使用,并且可以以安全等级划分为私有和共有以_(一个下横线)、__(两个下横线)为开头的都是私有的1._开头的是保护变量,类实例和子类实例能访问到这些变量,需通过类提供的接口进行访问,其实是可以访问的,但是不建议以__开头的是私有变量,只有类对象自己能够使用,子类不能访问和调用,只能通过其已经公开的方法在内部调用。但是python还是留了一个后门,可以通过对象._类...

weixin_33295214的博客 493

Python方法的重载和方法的覆盖

子类覆盖的方法必须与父类方法同名且参数列表相同。方法覆盖是面向对象编程中多态性的重要体现,指子类重新定义父类中已有的方法,以改变或扩展其行为。:子类方法的访问权限不能比父类方法更严格。:虽然Python是动态类型语言,但保持返回类型的一致性或兼容性是良好的设计实践。:可以在子类方法中使用super()调用父类实现,实现部分覆盖而非完全重写。:子类方法抛出的异常类型应该与父类一致或是其子类,不应该抛出更宽泛的异常。方法覆盖是指子类重新定义父类中已有的方法,实现特定于子类的行为。

Made In SQL 1116
上一篇: python30多种ide,总有适合你的一款。
下一篇: web.py的hello word演示
黄哥Python培训
博客等级 码龄20年 30粉丝 41原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值