首页 > 其他分享 >面向对象之多态

面向对象之多态

时间:2022-10-12 23:00:12浏览次数:55  
标签:__ status 多态 面向对象 申报 func def

鸭子类型

  我们都知道面向对象的语言有三大特性:封装、继承和多态,在这里我浅谈一下python的多态

 1 class PageOne:
 2     def status(self):
 3         return "按期申报页"
 4 
 5 
 6 class PageTwo:
 7     def status(self):
 8         return "其他申报页"
 9 
10 
11 class PageThree:
12     def status(self):
13         return "申报信息查询页"
14 
15 
16 def func(obj):
17     print(obj.status.__call__())
18 
19 
20 if __name__ == '__main__':
21     func(PageOne())
22     func(PageTwo())
23     func(PageThree())

output:  

  按期申报页
  其他申报页
  申报信息查询页

总结:

  1、python的多态而表现出的编程特色称之为鸭子类型

  2、不同的实例调用同一个接口而表现出不同的形态

 

标签:__,status,多态,面向对象,申报,func,def
From: https://www.cnblogs.com/shixiaogu/p/16786458.html

相关文章

  • Python基础 - 面向对象
    面向对象基础入门,理解概念为主,其妙用需要很长时间去领悟哦.引入Python既是面向过程,也能面向对象.初学来理解为啥要面向对象,不太可能,用处......
  • 面向对象(上)01
    面向对象(上)01Java面向对象学习的三条主线:(第4-6章)1.Java类和类的成员:属性,方法,构造器;代码块,内部类.1.面向对象的三大特征:封装性,继承性,多态......
  • java 多态
    /***obj-2*多态*/abstractclassFruits{abstractvoidcolour();}/***obj-2*/publicclassAppleextendsFruits{publicvoidcolour(){System......
  • java--面向对象
    面向==对象==OO:OritenedObjectOOP:使用oo的思想进行开发。利用对象实现功能。  面向对象编程。1.封装2.继承3.多态   面向过程c vs 面向对象......
  • day08 final关键字&面向对象——多态&抽象类、方法&向上、向下转型
    day08final关键字最终的不可更改的特点:1)修饰类,类不能被继承2)修饰方法,方法不能被重写3)修饰成员变量(变为常量),值不能修改,名字大写,声明同时给常量赋值main方法中1)修饰......
  • 动手动脑——继承和多态
    动手实验 classGrandparent{publicGrandparent(){System.out.println("GrandParentCreated.");}publicGrandparent(St......
  • 继承与多态中动手动脑
    -子类自动拥有父类声明为public和protected的成员,这就是继承特性的体现之一。-public:外界可自由访问-private:外界不可访问-protected:同一包中的子类都可以访问,另一包......
  • python重拾第七天-面向对象进阶
    本节内容:面向对象高级语法部分经典类vs新式类静态方法、类方法、属性方法类的特殊方法反射异常处理Socket开发基础作业:开发一个支持多用户在线的FTP程序......
  • 22、面向对象(反射)
    22.1、反射介绍:1、什么是反射:(1)反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问、检测和修改它本身状态或行为的一种能力(自省)。这一概念的提出很快引发了计算机......
  • 23、面向对象(包装)
    23.1、包装介绍:1、什么是包装(继承+派生):python为大家提供了标准数据类型以及丰富的内置方法,其实在很多场景下我们都需要基于标准数据类型来定制我们自己的数据类型,新增/改......