HeadFirst设计模式_读书笔记_006_适配器模式
2017-04-11 10:24
274 查看
适配器模式:将一个类的接口装换成另一个客户期望的接口,让原本两个不同的类使用起来像是一个类。分为类的适配器和对象的适配器。
对象的适配器:使用组合的方式达到适配的效果。
public interface Target {
public void run();
} public class Dog implements Target{
@Override
public void run() {
System.out.println("狗狗在地上跑");
}
} public class Fish {
public void swim()
{
System.out.println("鱼在水中游~~");
}
} public class Adpter implements Target{
private Fish fish;
public Adpter(Fish fish)
{
this.fish = fish;
}
@Override
public void run() {
this.fish.swim();
}
} public class Test {
public static void main(String args[])
{
Fish fish = new Fish();
Target dog = new Adpter(fish);
dog.run();
}
}
类的适配器:利用继承的方式达到适配的目的。
public interface Bird {
public void fly();
} public interface Fish {
public void swim();
} public class Goldfish implements Fish{
@Override
public void swim() {
System.out.println("一条小金鱼在水中游~~");
}
}
public class Adpter extends Goldfish implements Bird{
@Override
public void fly() {
swim();
}
}
public class Test {
public static void main(String args[])
{
Adpter adpter = new Adpter();
adpter.fly();
}
}
大小: 2.2 KB
大小: 4.1 KB
查看图片附件
对象的适配器:使用组合的方式达到适配的效果。
public interface Target {
public void run();
} public class Dog implements Target{
@Override
public void run() {
System.out.println("狗狗在地上跑");
}
} public class Fish {
public void swim()
{
System.out.println("鱼在水中游~~");
}
} public class Adpter implements Target{
private Fish fish;
public Adpter(Fish fish)
{
this.fish = fish;
}
@Override
public void run() {
this.fish.swim();
}
} public class Test {
public static void main(String args[])
{
Fish fish = new Fish();
Target dog = new Adpter(fish);
dog.run();
}
}
类的适配器:利用继承的方式达到适配的目的。
public interface Bird {
public void fly();
} public interface Fish {
public void swim();
} public class Goldfish implements Fish{
@Override
public void swim() {
System.out.println("一条小金鱼在水中游~~");
}
}
public class Adpter extends Goldfish implements Bird{
@Override
public void fly() {
swim();
}
}
public class Test {
public static void main(String args[])
{
Adpter adpter = new Adpter();
adpter.fly();
}
}
大小: 2.2 KB
大小: 4.1 KB
查看图片附件
相关文章推荐
- 《HeadFirst设计模式》读书笔记-第7章-适配器模式
- 读书笔记之 - javascript 设计模式 - 适配器模式
- 设计模式读书笔记-----适配器模式
- HeadFirst设计模式_读书笔记_005_命令模式
- 《HeadFirst设计模式》读书笔记-第8章-模板方法模式
- 第十七章 在看NBA需要翻译--适配器模式(读书笔记)
- 《HeadFirst设计模式》读书笔记-第4章-工厂模式
- HeadFirst设计模式_读书笔记_007_外观模式
- Delphi 设计模式:《HeadFirst设计模式》Delphi7代码---适配器模式之TurkeyAdapter
- 设计模式读书笔记之适配器模式(Adapter)
- 【读书笔记】HeadFirst设计模式——状态和策略
- 《HeadFirst设计模式》读书笔记-第1章-策略模式
- HeadFirst设计模式_读书笔记_008_模板方法
- 《HeadFirst设计模式》读书笔记-第9章-迭代器模式
- 【读书笔记】大话设计模式—适配器模式
- 【读书笔记】HeadFirst设计模式——单件不简单:详述实现Singleton模式需要考虑的方方面面
- 【读书笔记】HeadFirst设计模式——装饰者和适配器的区别
- 《HeadFirst设计模式》读书笔记-第3章-装饰者模式
- HeadFirst设计模式_读书笔记_009_ 组合模式
- 读书笔记 -- 006_数据挖掘_聚类_概念知识