public class XiMiTV extends TV {
@Override
public void display(IControllor controllor) {
controllor.open();
System.out.println("小米电视打开");
}
}
public interface IControllor {//函数式接口
void open();// public abstract void open();
}
public class RemoteControllor implements IControllor{
@Override
public void open() {
System.out.println("按下电视遥控器");
}
}
public class Client {
public static void main(String[] args) {
TV xiaoMiTV = new XiMiTV();
IControllor xiaoMiTVControllor = new RemoteControllor();
User user = new User(xiaoMiTVControllor, xiaoMiTV);
// user.operate(xiaoMiTVControllor, xiaoMiTV);
IControllor toyControllor = new ToyControllor();
user.operate(toyControllor, xiaoMiTV);
IControllor rocketCotrollor = new RocketControllor();
user.operate(rocketCotrollor, xiaoMiTV);
Mind mind = new Mind();
user.operate(mind, xiaoMiTV);
}
}
public class ToyControllor implements IControllor{
@Override
public void open() {
System.out.println("按下玩具遥控器");
}
}
public class RocketControllor implements IControllor{
@Override
public void open() {
System.out.println("按下火箭遥控器");
}
}
public abstract class TV {
public abstract void display(IControllor controllor);
}
public class User {
private IControllor controllor;
private TV tv;
public User(IControllor controllor, TV tv) {
this.controllor = controllor;
this.tv = tv;
}
public void operate(IControllor controllor, TV tv) {
tv.display(controllor);
}
}
public class User {
private IControllor controllor;
private TV tv;
public User(IControllor controllor, TV tv) {
this.controllor = controllor;
this.tv = tv;
}
public void operate(IControllor controllor, TV tv) {
tv.display(controllor);
}
}
public class Mind implements IControllor{
@Override
public void open() {
System.out.println("开启打开电视的意念");
}
}
万能遥控器
最新推荐文章于 2024-07-20 23:55:03 发布