python学习之继承和多态
Posted miaorn
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python学习之继承和多态相关的知识,希望对你有一定的参考价值。
#!/home/miao/python python3 # -*- coding: utf-8 -*- ‘这是关于继承和多态‘ class Parent(object): def __init__(self,name,age): self.__name = name self.age = age def get_name(self): print(self.__name) def set_name(self,name): self.__name = name def run(self): print(‘dad running...‘) class ChildOne(Parent): def run(self): print(‘child running...‘) #这里类ChildOne从父类中继承了其中的函数定义,这是自己定义的一种数据类型 #在定义一个ChildOne类型的变量时要重新传入参数 parent = Parent(‘aa‘,45) print(parent.age) child = ChildOne(‘bb‘,23) print(child.age) child.get_name() child.set_name(‘miao‘) child.get_name() class Dog(object): def __init__(self,name,age): self.name = name self.age = age def get_name(self): print(self.name) def run(self): print(‘dog running...‘) dog = Dog(‘cc‘,10) def print1_twice(parent): parent.get_name() parent.get_name() #多态性,从父类继承的类型可以直接使用。子类也是父类的类型, #注意这里传入的是变量 所以我犯了很严重的错误 变量后加了括号 这样就变成了函数 @实属不该 print1_twice(child) #print1_twice(parent()) 类似于这样 #鸭子类型当类型相似,即都拥有get_name()即为相似的走路姿势,只要有get_name()这个函数就被看作是 鸭子, 姿势像鸭子就是鸭子 #print1_twice(dog())
以上是关于python学习之继承和多态的主要内容,如果未能解决你的问题,请参考以下文章