python 面向对象 多态 封装
2021-07-10 18:07
标签:func div 函数的参数 继承 面向 两种 pass 对象 数据 一个类表现出的多种状态,通过继承来实现 例如Animal类表现出了Dog,Cat两种形态 在一个函数中需要给参数指定数据类型,如果这个地方可以接收两个以上类型的参数,那么这些类型应该有一个父类,这个父类是所有子类对象的类型。 函数的参数不需要指定数据类型,所以我们也不需要通过继承的形式来统一一组类的类型,换句话说 所有的对象其实都是object类型,所以在python当中其实处处是多态 所有的对象都是鸭子类型,不是明确的通过继承实现的多态,而是通过一个模糊的概念来判断这个函数能不能接受这个类型的参数 python 面向对象 多态 封装 标签:func div 函数的参数 继承 面向 两种 pass 对象 数据 原文地址:https://www.cnblogs.com/Clara51/p/9555107.html多态
什么是多态?
class Animal:pass
class Dog(Animal):pass
class Cat(Animal):pass
wc = Dog()
def func(name,age):
print(name,age)
func(1,2)
class Payment:pass
class ApplePay(Payment):
def pay(self):pass
class Alipay(Payment):
def pay(self):pass
def pay(obj,money): #在python中无需指定传输数据类型,随意传任意类型
obj.pay()
app = ApplePay()
print(type(app))
pay(app,123)
多态在java中的表现:
def func(Cat mao):pass
def func(Dog gou):pass
def func(Animal gou|mao):pass
多态在python中的表现:
鸭子类型: