值得一看的美剧,8090视频,石家庄贴吧
目录
多态指的是同一种事物的多种形态
水--》冰、水蒸气、液态水
动物--》人、狗、猪
多态性:
继承同一个类的多个子类中有相同的方法名
那么子类产生的对象就可以不用考虑具体的类型而直接调用功能
animal()--》强调:父类是用来指定标准的,不能被实例化,也就是说父类中被@abc.abstractmethod装饰的方法,子类必须也要有,如果没有的话则会报错,这个拥有被装饰的方法的类称为抽象类
由于动物都有叫,如果人的叫使用speak();狗的叫使用talk();猪的叫用jiao(),也就是说对于不同的动物有不同的叫方法,那么对于使用者来说,使用起来非常麻烦。因此我们可以规定人、狗、猪的叫都是speak(),那么我们以后使用某个动物叫的方法,只需要调用speak即可
import abc class animal(metaclass=abc.abcmeta): @abc.abstractmethod def speak(self): print('11111') @abc.abstractmethod def eat(self): pass class people(animal): def speak(self): print('say hello') def eat(self): pass class dog(animal): def speak(self): print('汪汪汪') def eat(self): pass class pig(animal): def speak(self): print('哼哼哼') def eat(self): pass peo1 = people() dog1 = dog() pig1 = pig()
peo1.speak()
say hello
dog1.speak()
汪汪汪
pig1.speak()
哼哼哼
def my_speak(animal): animal.speak() my_speak(peo1)
say hello
my_speak(dog1)
汪汪汪
my_speak(pig1)
哼哼哼
l = [1, 2, 3] s = 'helllo' t = (1, 2, 3) print(l.__len__()) print(s.__len__()) print(t.__len__()) # 列表、字符串、元组规定了计算这些数据类型的长度就必须使用len()方法 # def len(obj): # return obj.__len__()
3 6 3
print(len(l)) # l.__len__() print(len(s)) # s.__size__() print(len(t)) # t.__width__()
3 6 3
class disk: """硬盘""" def read(self): print('disk read') def write(self): print('disk wirte') class process: """进程""" def read(self): print('process read') def write(self): print('process wirte') class file: """文件""" def read(self): print('file read') def write(self): print('file wirte') obj1 = disk() obj2 = process() obj3 = file() obj1.read() obj1.write()
disk read disk wirte
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Python 实现将numpy中的nan和inf,nan替换成对应的均值
python爬虫把url链接编码成gbk2312格式过程解析
网友评论