编写程序:电话 移动电话 固定电话 体现三者之间的继承关系 电话 包含 属性:品牌,号码 ⽅法:打电话 接电话 ⼿机重写⽗类中 打电话 接电话 ⽅法 :接收短信 固定电话 重写⽗类中 打电话 接电话⽅法:接宽带 电话⼚: ⽅法:测试电话 testPhone(Phone p) ,能在⽅法内调⽤电话的打电话与接电话⽅法 ⽣产电话 getPhone(int type) 当 type 为1 则⽣成⼀个固定电话 Type为2 则⽣成⼀个⼿机 其他 则⽣成⼀个 电话
时间: 2024-03-25 13:41:31 浏览: 92
下面是一个简单的示例代码,体现了电话、移动电话、固定电话之间的继承关系,以及各自的属性和方法:
```python
class Phone:
def __init__(self, brand, number):
self.brand = brand
self.number = number
def call(self):
print("Dialing...")
def answer(self):
print("Answering...")
class MobilePhone(Phone):
def receive_message(self):
print("Receiving message...")
def call(self):
print("Dialing from mobile phone...")
def answer(self):
print("Answering from mobile phone...")
class LandlinePhone(Phone):
def connect_broadband(self):
print("Connecting broadband...")
def call(self):
print("Dialing from landline phone...")
def answer(self):
print("Answering from landline phone...")
class PhoneFactory:
@staticmethod
def test_phone(phone):
phone.call()
phone.answer()
@staticmethod
def get_phone(phone_type):
if phone_type == 1:
return LandlinePhone("Brand A", "1234567")
elif phone_type == 2:
return MobilePhone("Brand B", "9876543")
else:
return Phone("Brand C", "0000000")
```
可以通过以下方式使用:
```python
phone1 = PhoneFactory.get_phone(1) # 创建一个固定电话实例
phone1.call() # Dialing from landline phone...
PhoneFactory.test_phone(phone1) # Dialing from landline phone... Answering...
phone2 = PhoneFactory.get_phone(2) # 创建一个移动电话实例
phone2.call() # Dialing from mobile phone...
PhoneFactory.test_phone(phone2) # Dialing from mobile phone... Answering...
phone3 = PhoneFactory.get_phone(3) # 创建一个普通电话实例
phone3.call() # Dialing...
PhoneFactory.test_phone(phone3) # Dialing... Answering...
```
在上述代码中,`Phone` 类是所有电话的基类,包含了所有电话都有的属性和方法,如品牌、号码、打电话、接电话等。`MobilePhone` 类和 `LandlinePhone` 类继承了 `Phone` 类,并且重写了其中的打电话和接电话方法,以及新增了自己特有的方法,如接收短信和接宽带。`PhoneFactory` 类是一个工厂类,提供了创建电话实例和测试电话的方法,其中 `get_phone` 方法可以根据传入的参数创建不同类型的电话实例,而 `test_phone` 方法可以测试电话的打电话和接电话方法。
阅读全文