package com.bluemsun.classadapter;
public class Person {
private int id;
private String name;
/**
* person可以现在只能说英语
*/
public void sayEnglish(){
System.out.println("Person can say english!");
}
/**
* 省略setter,getter.
*/
}
package com.bluemsun.classadapter;
/**
* 目标要求person可以说英语,法语,日语.但是现在的person仅仅可以说英语
* @author Administrator
*
*/
public interface Target_Person {
void sayEnglish();
void sayFrench();
void sayJapanese();
}
package com.bluemsun.classadapter;
/**
* 类适配器,因为继承了Person,而Java中只能单继承,所以这个适配器只为person这一个类服务
* 这个适配器就让person类在不修改源码的基础上能实现目标接口所指定的方法
* @author Administrator
*
*/
public class Adapter_Person extends Person implements Target_Person{
@Override
public void sayFrench() {
System.out.println("Person can say French!");
}
@Override
public void sayJapanese() {
System.out.println("Person can say Japanese!");
}
}
package com.bluemsun.classadapter;
public class Test {
public static void main(String[] args) {
Target_Person person = new Adapter_Person();
person.sayEnglish();
person.sayFrench();
person.sayJapanese();
}
}
package com.bluemsun.objectdapter;
import com.bluemsun.classadapter.Person;
import com.bluemsun.classadapter.Target_Person;
/**
* 对象适配器,与类适配器不同的是:对象适配器可以适配多个源到目标
* @author Administrator
*
*/
public class Adapter_Person implements Target_Person{ //仅仅实现目标接口
private Person person;
//在构造函数中将Adaptee类Person传递进来
public Adapter_Person(Person person){
this.person = person;
}
//实现目标接口中的sayEnglish()--调用Adaptee中的sayEnglish()
@Override
public void sayEnglish() {
this.person.sayEnglish();
}
//实现接口中的其它方法
@Override
public void sayFrench() {
System.out.println("person can say French!");
}
@Override
public void sayJapanese() {
System.out.println("person can say Japanese!");
}
}
package com.bluemsun.objectdapter;
import com.bluemsun.classadapter.Person;
import com.bluemsun.classadapter.Target_Person;
public class Test {
public static void main(String[] args) {
Target_Person person = new Adapter_Person(new Person());
person.sayEnglish();
person.sayFrench();
person.sayJapanese();
}
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有