有谁能给我一个真实的,多态性的例子吗?我的教授给我讲了一个关于+
运算符的老故事。a+b = c
和2+2 = 4
,这就是多态性。我真的不能把自己和这样的定义联系在一起,因为我在很多书中都读过和重读过。
我需要的是一个真实的代码示例,一个我可以真正与之关联的实例。
例如,这里有一个小例子,以防您想要扩展它。
>>> class Person(object):
def __init__(self, name):
self.name = name
>>> class Student(Person):
def __init__(self, name, age):
super(Student, self).__init__(name)
self.age = age
Python中一个常见的实际例子是file-like objects。除了实际的文件外,还有一些其他类型的文件,包括StringIO和BytesIO,类似于文件。充当文件的方法也可以对其执行操作,因为它们支持所需的方法(例如
read
,write
)。看看维基百科的例子:它在高层次上非常有用:
注意以下几点:所有的动物都“说话”,但它们说话的方式不同。因此,“谈话”行为具有多态性,因为它的实现方式不同于动物。因此,抽象的“动物”概念实际上并不是“说话”,而是具体的动物(如狗和猫)有具体的“说话”行为的实现。
类似地,“add”操作在许多数学实体中都有定义,但在特定情况下,您根据特定规则“add”:1+1=2,但是(1+2i)+(2-9i)=(3-7i)。
多态行为允许您在“抽象”级别指定常用方法,并在特定实例中实现它们。
例如:
你看,百万富翁和研究生都是人。但在付账方面,他们具体的“付账”行动则有所不同。
以上回答的多态性的C++例子是:
相关问题 更多 >
编程相关推荐