java编写程序:电话 移动电话 固定电话 体现三者之间的继承关系 电话 包含 属性:品牌,号码 ⽅法:打电话 接电话 ⼿机重写⽗类中 打电话 接电话 ⽅法 :接收短信 固定电话 重写⽗类中 打电话 接电话⽅法:接宽带 电话⼚: ⽅法:测试电话 testPhone(Phone p) ,能在⽅法内调⽤电话的打电话与接电话⽅法 ⽣产电话 getPhone(int type) 当 type 为1 则⽣成⼀个固定电话 Type为2 则⽣成⼀个⼿机 其他 则⽣成⼀个 电话
时间: 2024-03-25 07:41:38 浏览: 97
好的,根据您的要求,我为您编写了一个简单的实现:
```
public class Phone {
protected String brand;
protected String number;
public Phone(String brand, String number) {
this.brand = brand;
this.number = number;
}
public void call() {
System.out.println("Making a call...");
}
public void answer() {
System.out.println("Answering a call...");
}
public static void testPhone(Phone p) {
p.call();
p.answer();
}
public static Phone getPhone(int type) {
if (type == 1) {
return new LandlinePhone("Landline", "123456");
} else if (type == 2) {
return new MobilePhone("iPhone", "888888");
} else {
return new Phone("Generic", "000000");
}
}
}
public class MobilePhone extends Phone {
public MobilePhone(String brand, String number) {
super(brand, number);
}
public void call() {
System.out.println("Making a mobile call...");
}
public void answer() {
System.out.println("Answering a mobile call...");
}
public void receiveMessage() {
System.out.println("Receiving a message...");
}
}
public class LandlinePhone extends Phone {
public LandlinePhone(String brand, String number) {
super(brand, number);
}
public void call() {
System.out.println("Making a landline call...");
}
public void answer() {
System.out.println("Answering a landline call...");
}
public void connectBroadband() {
System.out.println("Connecting to broadband...");
}
}
```
通过上述代码,我们定义了一个 Phone 类作为父类,包含了品牌和号码两个属性,以及打电话和接电话两个方法。MobilePhone 类和 LandlinePhone 类分别继承自 Phone 类,重写了打电话和接电话两个方法,并添加了自己的特有方法。同时,我们还定义了一个测试电话的方法 testPhone 和一个生成电话的方法 getPhone,通过传入不同的参数,可以返回不同类型的电话对象。
阅读全文