public interface Color {
void paint(String penType, String name);
}
2.2 接口实现
public class Blue implements Color {
public void paint(String penType, String name) {
System.out.println(penType + "画蓝色的" + name);
}
}
public class Red implements Color {
public void paint(String penType, String name) {
System.out.println(penType + "画红色的" + name);
}
}
2.3 抽象类
public abstract class AbstracePen {
// 持有接口的引用
protected Color color;
protected void setColor(Color color){this.color = color;}
public abstract void draw(String name);
}
2.4 抽象实现
public class BigPen extends AbstracePen {
public void draw(String name) {
String penType = "大号笔";
this.color.paint(penType,name);
}
}
public class SmallPen extends AbstracePen {
public void draw(String name) {
String penType = "小号笔";
this.color.paint(penType,name);
}
}
2.5 客户端
public class Client {
public static void main(String[] args) {
Red red = new Red();
BigPen bigPen = new BigPen();
bigPen.setColor(red);
bigPen.draw("鲜花");
}
}