
创建抽象装饰类Decorator,包含一个MobilePhone类型的私有变量。
1 public class Decorator extends MobilePhone{
2
3 private MobilePhone _mobilePhone;
4
5 public Decorator(MobilePhone mobilePhone){
6 _mobilePhone=mobilePhone;
7 phoneName=mobilePhone.phoneName;
8 }
9 @Override
10 public void SendMessage() {
11 // TODO Auto-generated method stub
12 _mobilePhone.SendMessage();
13 }
14
15 @Override
16 public void Call() {
17 // TODO Auto-generated method stub
18 _mobilePhone.Call();
19 }
20
21 }
书写主函数Main来分别创建小米手机和苹果手机,并且分别加上蓝牙功能、GPS功能和视频通话功能。
1 public class Main {
2
3 public static void main(String[] args) {
4 // TODO Auto-generated method stub
5 MiPhone miPhone=new MiPhone();
6 iPhone iphone=new iPhone();
7
8 Bluetooth miBluetooth=new Bluetooth(miPhone);
9 miBluetooth.Connect();
10 GPS miGPS=new GPS(miPhone);
11 miGPS.Location="MiPhone的定位成功";
12 System.out.println(miGPS.Location);
13 Camera miCamera=new Camera(miPhone);
14 miCamera.VideoCall();
15
16 Bluetooth iBluetooth=new Bluetooth(iphone);
17 iBluetooth.Connect();
18 GPS iGPS=new GPS(iphone);
19 miGPS.Location="iPhone的定位成功";
20 System.out.println(miGPS.Location);
21 Camera iCamera=new Camera(iphone);
22 iCamera.VideoCall();
23 }
24
25 }原文:http://www.cnblogs.com/zhouxixi/p/5097136.html