创建一个继承和重写的手机类

创建一个继承和重写的手机类

首先,创建手机的父类
public class Phone {
public void sendMessage(){
System.out.println(“发短信”);
}
public void call(){
System.out.println(“打电话”);
}
public void showNum(){
System.out.println(“来电显示号码”);
}
}
然后创建一个子类,继承父类Phone
//智能手机
public class NewPhone extends Phone{
public void showNum(){
//调用父类的来电显示功能,并增加自己的显示姓名和图片功能
super.showNum();
//增加自己特有显示姓名和图片的功能
System.out.println(“显示来电姓名”);
System.out.println(“显示头像”);
}
}
最后,测试代码
public class Demo {
public static void main(String[] args) {
//创建子类对象
NewPhone newPhone = new NewPhone();
//调用父类继承而来的方法
newPhone.showNum();
newPhone.sendMessage();
newPhone.call();
}
}

好的,以下是一个简单的示例代码,仅供参考: ```python class Phone: def __init__(self, phone_number, balance=0): self.phone_number = phone_number self.balance = balance def charge(self, amount): self.balance += amount def check_balance(self): return self.balance class LandlinePhone(Phone): def __init__(self, phone_number, balance=0, call_rate=0.5): super().__init__(phone_number, balance) self.call_rate = call_rate self.call_duration = 0 def make_call(self, duration): self.call_duration += duration cost = self.call_duration * self.call_rate self.balance -= cost return cost class MobilePhone(Phone): def __init__(self, phone_number, balance=0, data_usage=0, package_info=''): super().__init__(phone_number, balance) self.data_usage = data_usage self.package_info = package_info def use_data(self, amount): self.data_usage += amount def check_package(self): return self.package_info class TestPhone: def test_landline_phone(self): lp = LandlinePhone('010-12345678', balance=10, call_rate=0.5) assert lp.make_call(5) == 2.5 assert lp.check_balance() == 7.5 def test_mobile_phone(self): mp = MobilePhone('13912345678', balance=10, data_usage=0, package_info='100M') mp.use_data(20) assert mp.check_balance() == 10 assert mp.check_package() == '100M' def test_phone(self): p = Phone('010-12345678', balance=10) p.charge(5) assert p.check_balance() == 15 if __name__ == '__main__': tester = TestPhone() tester.test_landline_phone() tester.test_mobile_phone() tester.test_phone() ``` 在上面的代码Phone 表示所有手机的基,包含通用的属性方法,如电话号码、余额、充话费、查询余额等。LandlinePhone 继承Phone ,表示座机,包含座机特有的属性方法,如通话时长、收费标准等。MobilePhone 继承Phone ,表示移动手机,包含移动手机特有的属性方法,如流量用量、套餐信息等。 TestPhone 则是测试,其包含了三个测试方法,分别测试座机、移动手机和基础手机的功能是否正常。在每个测试方法,首先创建相应的对象,然后调用对象的方法进行测试,最后使用 assert 语句判断测试结果是否符合预期。 当然,以上只是一个简单的示例代码,实际代码应当根据具体需求进行修改和完善。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值