# 多态是指一类事物有多种行态,
# 例如:动物有多种形态:人,狗,猫
# 他们有一些共同的特征:吃,喝,拉,撒
# 多态性是指在不考虑实例类型的情况下使用实例
# 对同一事物不同的类,对象有不同的响应,
# 例如:放假了,有的同学回家,有的去旅游,有的去兼职
# 有的在敲代码(就是我啦)
# 列表,字符串,字典都有len属性,但是是不同的执行过程。
class Animal():
def talk(self):
pass
class People(Animal):
def __init__(self,name):
self.name = name
def talk(self):
print("%s 说人话"%self.name)
class Cat(Animal):
def __init__(self,name):
self.name = name
def talk(self):
print("%s 说猫话"%self.name)
class Dog(Animal):
def __init__(self,name):
self.name = name
def talk(self):
print("%s 说狗话"%self.name)
peo = People('wang')
cat = Cat('cat')
dog = Dog('dog')
peo.talk()
cat.talk()
dog.talk()
# 多态性的函数
# 1,增加了程序的灵活性,
# 2,增加了程序的课扩展性
# 鸭子类型
# python崇尚鸭子类型,Python崇尚鸭子类型,即‘如果
# 看起来像、叫声像而且走起路来像鸭子,那么它就是鸭子’ # python程序员通常根据这种行为来编写程序。例如,如果想编
# 写现有对象的自定义版本,可以继承该对象 # 也可以创建一个外观和行为像,但与它无任何关系的全
# 新对象,后者通常用于保存程序组件的松耦合度。

python基础--面向对象之多态的更多相关文章

  1. python基础——面向对象编程

    python基础——面向对象编程 面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想.OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的 ...

  2. Python 基础 面向对象之二 三大特性

    Python 基础 面向对象之二 三大特性 上一篇主要介绍了Python中,面向对象的类和对象的定义及实例的简单应用,本篇继续接着上篇来谈,在这一篇中我们重点要谈及的内容有:Python 类的成员.成 ...

  3. python基础--面向对象基础(类与对象、对象之间的交互和组合、面向对象的命名空间、面向对象的三大特性等)

    python基础--面向对象 (1)面向过程VS面向对象 面向过程的程序设计的核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西. ...

  4. python基础——继承和多态

    python基础——继承和多态 在OOP程序设计中,当我们定义一个class的时候,可以从某个现有的class继承,新的class称为子类(Subclass),而被继承的class称为基类.父类或超类 ...

  5. python基础——面向对象进阶下

    python基础--面向对象进阶下 1 __setitem__,__getitem,__delitem__ 把对象操作属性模拟成字典的格式 想对比__getattr__(), __setattr__( ...

  6. python基础——面向对象进阶

    python基础--面向对象进阶 1.isinstance(obj,cls)和issubclass(sub,super) isinstance(obj,cls)检查是否obj是否是类 cls 的对象 ...

  7. python基础——面向对象的程序设计

    python基础--面向对象的程序设计 1 什么是面向对象的程序设计 面向过程的程序设计的核心是过程,过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西. 优 ...

  8. 第八章:Python基础の面向对象(二)

    本課主題 面向对象的多态 面向对象的成员 成员修饰符 特殊成员 面向对象其他应用 异常处理 设计模式与单例模式 面向对象的多态 指定参数类型只是多态的一种表现 另外一种是允许自己类型和自己的子类型(典 ...

  9. Python自动化 【第七篇】:Python基础-面向对象高级语法、异常处理、Scoket开发基础

    本节内容: 1.     面向对象高级语法部分 1.1   静态方法.类方法.属性方法 1.2   类的特殊方法 1.3   反射 2.     异常处理 3.     Socket开发基础 1.   ...

随机推荐

  1. JavaScript面向对象OOM 2(JavaScript 创建对象的工厂模式和构造函数模式)

      在创建对象的时候,使用对象字面量和 new Object() 构造函数的方式创建一个对象是最简单最方便的方式.但是凡是处于初级阶段的事物都会不可避免的存在一个问题,没有普适性,意思就是说我要为世界 ...

  2. k8sService资源

    一.service资源及其实现模型 通过规则定义出由多个pod对象组合而成的逻辑集合,以及访问这组pod的策略.service关联pod资源的规则要借助于标签选择器来完成 1.service资源概述 ...

  3. vue自定义指令,自动调用下载的方法

    directives: { clickDown: { inserted (el, binding, item) { if (+binding.value.item.fromId === +item.c ...

  4. 学到了林海峰,武沛齐讲的Day51 django+数据库

    连不上,通过这一步解决 搞死了..辛苦但觉得值得 刷数据库 出问题 IDEA关联MySQL报错:Server returns invalid timezone. Go to ‘Advanced’ ta ...

  5. DevOps之Pipeline集成junit、jacoco、SonarQube(二)

    一.准备工作 1.准备一个持续集成的代码工程 工程下载地址: Github地址为:https://github.com/zbbkeepgoing/springboot-demo 2.springboo ...

  6. vue 绑定class、v-bind:style(对象语法、数组语法)

    绑定 HTML Class 我们可以传给 v-bind:class 一个对象,以动态地切换 class: 内联样式在模板里 <div id="div1" :class=&qu ...

  7. 查看服务的cpu gpu各类内存 cpu频率等等信息

    Linux版本cat /etc/redhat-releasecat /etc/lsb-release内核版本号cat /proc/version查看CPU信息(型号)cat /proc/cpuinfo ...

  8. Java多线程和并发(二),Thread中的start和run的区别

    目录 1.调用run方法 2.调用start方法 3.start和run的区别 二.Thread中的start和run的区别 1.调用run方法 public class ThreadTest { p ...

  9. 洛谷 P1546 最短网络 Agri-Net x

    题目背景 农民约翰被选为他们镇的镇长!他其中一个竞选承诺就是在镇上建立起互联网,并连接到所有的农场.当然,他需要你的帮助. 题目描述 约翰已经给他的农场安排了一条高速的网络线路,他想把这条线路共享给其 ...

  10. Tarjan 【整理】

    Tarjan [整理] #include<bits/stdc++.h> using namespace std; class FastIO{ /* copyright (c) dgklr ...