code:_9polymorphism.py
# *****************************************
"""
多态:对于同一个方法,传递的参数(包括self参数)不同,实现不同的结果。
定义接口,使用继承实现多态
"""
class computer():
def usb(self,obj):
obj.start()
class USB():
# 这是一个接口类,没有实现,定义了一个start成员函数但是没有实现,要求所有继承USB类的类都实现start成员函数。
# 它的目的主要是形成标准
def start(self):
pass
class mouse(USB):
def start(self):
print("鼠标启动啦!")
class keyboard(USB):
def start(self):
print("键盘启动啦!")
class usb_storage(USB):
def start(self):
print("usb存储设备启动啦!")
# 这里是使用普通方法实现多态
con = computer()
mou = mouse()
key = keyboard()
usb_s = usb_storage()
con.usb(mou)
con.usb(key)
con.usb(usb_s)
# 定义接口,使用继承实现多态
mou.start()
key.start()
usb_s.start()
运行结果:
E:\Programs_Way\Python\python.exe D:/Prj/_PythonSelf/Object_oriented_programming/_9polymorphism.py
鼠标启动啦!
键盘启动啦!
usb存储设备启动啦!
鼠标启动啦!
键盘启动啦!
usb存储设备启动啦!
Process finished with exit code 0
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)