package com.design.ocp;
public class Ocp {
public static void main(String[] args) {
Draw draw = new Draw();
draw.draw(new JX());
draw.draw(new YX());
}
}
//绘制类
class Draw {
public void draw(Shape s) {
s.draw();
}
}
//图形类
abstract class Shape {
int type;
public abstract void draw();
}
//矩形类
class JX extends Shape {
public JX() {
super.type = 1;
}
@Override
public void draw() {
System.out.println("绘制矩形");
}
}
//圆形类
class YX extends Shape {
public YX() {
super.type = 2;
}
@Override
public void draw() {
System.out.println("绘制圆形");
}
}
因篇幅问题不能全部显示,请点此查看更多更全内容