深入适配器模式
来源:互联网 发布:手机购物安全软件 编辑:程序博客网 时间:2024/06/10 22:42
上次说过了Java里面23种设计模式中的单例设计模式,今天我来说一下23种设计模式中的适配器模式。
首先我来说一下什么是适配器模式:
通俗的讲就是,你定义了一个接口(接口都是抽象的,自然里面的方法也就是抽象的了),然后你就要写一个类去实现这个抽象接口里面的抽象方法。但是现实中如果这个接口中定义的方法有太多,而其中的一些方法子类又用不到,给程序编写造成了一定的麻烦。那么这个时候我们就户用到是适配器模式。它思想是这样的:
①首先先编写一个接口,里面先定义一些抽象方法。
②写一个抽象类去实现这个接口,注意实现这个接口的方法体必须是空的,不要写。
首先说到抽象,一定会想到Java里面的一个关键字abstract.这个关键字有五个特性:抽象类前面必须添加abstract关键字,否则就是普通类;抽象类不能被实例化,不能对外new对象;抽象类不能被实例化,但是有构造方法,构造方法是可以被子类去创建对象的;抽象类中可以没有抽象方法,但是抽象方法一定要出现在抽象类中;一个非抽象类去继承一个抽象类,必须将他的抽象方法实现;
这样的话,这个实现类就不会被直接使用,而且又满足以上的一些前提。类是抽象的,里面的方法不是抽象的。
③让一个类去继承这个实现类,并且有选择的实现里面的方法。
④写一个测试类,注意new对象的时候一定不能出现这个实现类的名字,因为上面说了抽象类不能new对象。
具体的代码如下:
一一对应
第一步:
public interface Student{
public void sleep();
public void eat();
public void play();
}
第二步:
public abstract class StudentAdapter implements Student{
public void sleep(){}
public void eat(){}
public void play(){}
}
第三步:
public class StudentImpl extends StudentAdapter{
public void sleep(){
System.out.println("我要睡回笼觉!!!”);
}
public void play(){
System.out.println("我要玩皮球!!!");
}
}
第四步:
public class Test{
public static void main(String[] args){
Student s = new StudentImpl();
s.sleep();
s.play();
}
}
结果可想而知:我要睡回笼觉
我要玩皮球
这就是一个适配器模式。
- 深入适配器模式
- 深入设计模式-6.适配器模式
- 设计模式深入学习---Adapter 适配器模式(结构型模式)
- 适配器及适配器模式
- 适配器及适配器模式
- 适配器模式(类适配器)
- 适配器模式(默认适配器)
- 适配器模式(对象适配器)
- 适配器模式-类适配器
- 适配器模式-对象适配器
- 适配器模式
- 适配器模式
- 适配器模式
- 适配器模式
- 适配器模式
- 适配器模式
- 适配器模式
- 适配器模式
- Pandas入门(二)——DataFrame结构及常用操作
- **Android 基础知识点 防忘记**
- java数组赋值
- solr 5.0以后 没有schema.xml未自动创建schema文件
- 配置连接池中空闲连接过期超时释放
- 深入适配器模式
- 这可能是最全的计算机编程语言列表了
- FFmpeg
- GreenDao增删改查操作
- Broad Match,Phrase Match和Exact Match的区别
- VMware10 安装黑苹果步骤以及遇到的问题
- 将html文件和css文件连接起来的方法
- String问题详解
- Python内置函数系列之数值相关函数