多个无关的类可以实现同一个接口
一个类可以实现多个无关的接口
接口是抽象方法和常量值的定义的集合,是一种特殊的抽象类,只包含常亮和方法的定义,没有变量和方法的实现
以下为例题,书上的题,自己写的答案,不太完善还会更改的
在使用图像处理软件处理图片后,需要选择一种格式进行保存,然而各种格式在底层实现的算法并不相同,这刚好适合策略模式。本实例将演示如何使用策略模式与简单工厂模式组合进行实例开发。
以下为interface接口
public interface PictureType {
void save();
}
新建class,以下为示例代码
import java.util.Scanner;
public class picture {
static gif gif=new gif();//调用方法
static jpg jpg=new jpg();
static png png=new png();
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc=new Scanner(System.in);
String name=sc.next(); //输入保存的类型
if(name.equals("gif")){//如果输入为gif
System.out.print("用户选择了"+name+"模式");
gif.save();
}
else if(name.equals("jpg")){//如果输入为jpg
System.out.print("用户选择了"+name+"模式");
jpg.save();
}
else if(name.equals("png")){//如果输入为png
System.out.print("用户选择了"+name+"模式");
png.save();
}
else{//若都不是
System.out.print("no find");//输出无此类型
}
}
}
class gif implements PictureType{
@Override
public void save() {
// TODO Auto-generated method stub
System.out.print("this is gif");
}
}
class jpg implements PictureType{
@Override
public void save() {
// TODO Auto-generated method stub
System.out.print("this is jpg");
}
}
class png implements PictureType{
@Override
public void save() {
// TODO Auto-generated method stub
System.out.print("this is png");
}
}