一人多机
Python基础:面向对象
需求描述:
利用多态特性,编程创建一个手机类 Phones,定义打电话方法 call()。
创建两个子类:
苹果手机类IPhone 和安卓手机类 APhone,并在各自类中重写方法 call()。
创建一个人类Person,定义使用手机打电话的方法 use_phone_call()。
通过传递不同的对象参数,实现多态。
代码实现:
class Phones:
def __init__(self, name=''):
self.name = name
def call(self):
print('使用%s打电话' % self.name)
class IPhone(Phones):
def call(self):
print('使用%s打电话' % self.name)
class Android_Phone(Phones):
def call(self):
print('使用%s打电话' % self.name)
class Person():
def use_phone_call(self, phone):
phone.call()
person = Person()
person.use_phone_call(Phones('功能机'))
person.use_phone_call(IPhone('苹果手机'))
person.use_phone_call(Android_Phone('安卓手机'))
print('---------------------------------------')
phone = Phones('功能机') #可以不定义Person(),直接使用
phone.call()
phone = IPhone('苹果手机')
phone.call()
phone = Android_Phone('安卓手机')
phone.call()
实现结果如下: