手机操作问题
现在对不同的手机类型的不同品牌实现操作编程(比如:开机、上网、打电话)
新建品牌接口
public interface Brand {
void open();
void close();
void call();
}
实现类 小米手机
public class Xiaomi implements Brand {
@Override
public void open() {
System.out.println("小米手机开机");
}
@Override
public void close() {
System.out.println("小米手机关机");
}
@Override
public void call() {
System.out.println("小米手机打电话");
}
}
实现类 VIVO手机
public class Vivo implements Brand{
@Override
public void open() {
System.out.println("vivo手机开机");
}
@Override
public void close() {
System.out.println("vivo手机关机");
}
@Override
public void call() {
System.out.println("vivo手机打电话");
}
}
新建手机抽象类
public abstract class Phone {
//组合品牌
private Brand brand;
public Phone(Brand brand) {
this.brand = brand;
}
protected void open(){
this.brand.open();
}
protected void close(){
this.brand.close();
}
protected void call(){
this.brand.call();
}
}
新建折叠式手机类
public class FoldedPhone extends Phone{
public FoldedPhone(Brand brand) {
super(brand);
}
public void open(){
super.open();
System.out.println(" 折叠式手机 ");
}
public void close(){
super.close();
System.out.println(" 折叠式手机 ");
}
public void call(){
super.call();
System.out.println(" 折叠式手机 ");
}
}
测试
public class Client {
public static void main(String[] args) {
Phone phone = new FoldedPhone(new Xiaomi());
phone.open();
phone.call();
Phone phone2 = new FoldedPhone(new Vivo());
phone2.open();
phone2.call();
}
}
当我们新增品牌 或者手机类型当时候 只需要增加一个类 就好
增加直立式手机
public class UpRightPhone extends Phone {
public UpRightPhone(Brand brand) {
super(brand);
}
public void open(){
super.open();
System.out.println(" 直立式手机 ");
}
public void close(){
super.close();
System.out.println(" 直立式手机 ");
}
public void call(){
super.call();
System.out.println(" 直立式手机 ");
}
}
测试
public class Client {
public static void main(String[] args) {
Phone phone = new FoldedPhone(new Xiaomi());
phone.open();
phone.call();
System.out.println("-=============================-");
Phone phone2 = new UpRightPhone(new Vivo());
phone2.open();
phone2.call();
}
}
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- ovod.cn 版权所有 湘ICP备2023023988号-4
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务