周三
来源:互联网 发布:薛之谦淘宝下线 编辑:程序博客网 时间:2024/05/02 06:44
八月三十一号 周三
赵磊
今天学习了流的装饰模式,虽然听的挺迷茫 但通过老师举得超级玛丽,音乐播放器等等几个生动的例子,多少有一些小小的体会,先说说自己的体会:我感觉装饰模式就是用最少的类通过互相组合,层层套用,来实现一个强大的功能,各个类就像机器的零件一样,通过组装在一起,变成一个可以干活的机器。今天还知道了几个eclipse的快捷键,感觉真是方便,看来以后得多研究研究eclipse。下面看看老师举例的代码,通过代码 ,大概了解了装饰模式的具体使用方法,其实还是迷茫。。。。。。。自己写总是不知道从哪下手。。。。
public interface IUsb{
public void readData();
public void writeData();
}
//U盘
public class UDisk implements IUsb{
public void readData(){
System.out.println("U盘读数据...");
}
public void writeData(){
System.out.println("U盘写数据...");
}
}
public MP3Play implements IUsb{
public void readData(){
System.out.println("MP3读数据...");
}
public void writeData(){
System.out.println("MP3写数据...");
}
}
public class Decorator implements IUsb{
private IUsb usb;
public Decorator(IUsb _usb){
usb = _usb;
}
public void readData(){//其实执行的是IUSB的ReadData
usb.readData();
}
public void writeData(){//其实执行的是IUSB的WriteData
usb.writeData();
}
}
// 音乐播放器,提供播放音乐的功能
public class MusicPlayer extends Decorator{
public MusicPlayer(IUsb usb){
super(usb);
}
public void playMusic(){
System.out.println("播放音乐...");
}
}
// 照相机
public class Camera extends Decorator{
public Camera(IUsb usb){
super(usb);
}
public void takePicture(){
System.out.println("照相...");
}
}
public class TestDecorator{
public static void main(String[] args){
IUsb mp3player = new MP3Player(); //只能读写数据的mp3
MusicPlayer player = new MusicPlayer(mp3player) //装饰音乐播放
player.readData();
player.writeData();
player.playMusic(); //具有播放音乐的功能
Camera mp3Carm = new Camera(player);
mp3Carm.takePicture(); //具有照相的功能
}
}
- 周三
- 周三
- 周三
- 周三
- 周三 多云
- 0521周三
- 0625周三
- 0625周三
- 0924周三
- 0924周三
- 1105周三
- 090225周三
- 090304周三
- 091021周三
- 091118周三
- 100414周三
- 100414周三
- 20110427周三
- 新课知识;
- 周二
- CSDN Java课堂随笔NO:2
- Active MQ使用
- Liferay:Struts2.X Portlet的实现
- 周三
- 手机开发网址
- CSDN Java课堂随笔NO:3
- RIA Services Tip - 设置实体对象的默认值
- 周四
- CSDN Java课堂随笔NO:4
- 套接字详解
- CRC总结
- 1、Android中支持的Snesor种类