ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

67.Python:多态与鸭子类型

2021-07-06 15:31:37  阅读:148  来源: 互联网

标签:Python self 多态 write read say 67 print def


# Python learning
# coding:utf-8


# 1.什么是多态:同一事物有多种形态

# 2.为何要有多态 ==>多态会带来什么样的特性,多态性

class Animal: # 统一所有子类的方法
def say(self):
print('动物叫:', end='')


class People(Animal):
def say(self):
super().say()
print('嘤嘤嘤')


class Dog(Animal):
def say(self):
super().say()
print('汪汪汪')


class Pig(Animal):
def say(self):
super().say()
print('哼哼哼')


obj_say1 = People()
# obj_say1.say()
obj_say2 = Dog()
# obj_say2.say()
obj_say3 = Pig()
# obj_say3.say()


# 定义统一的接口,接收传入的动物对象
def animal_say(animal):
animal.say()


animal_say(obj_say1)
animal_say(obj_say2)
animal_say(obj_say3)


# 鸭子类型
class Cpu:
def read(self):
print('cpu read')

def write(self):
print('cpu write')


class Mem:
def read(self):
print('mem read')

def write(self):
print('mem write')


class Txt:
def read(self):
print('txt read')

def write(self):
print('txt write')


obj1 = Cpu()
obj2 = Mem()
obj3 = Txt()

obj1.read()
obj1.write()

obj2.read()
obj2.write()

obj3.read()
obj3.write()

标签:Python,self,多态,write,read,say,67,print,def
来源: https://www.cnblogs.com/wyless/p/14977130.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有