LOGO 设计模式(Design Pattern) 张凯副教授计算机学院软件工程系武汉科技大学 问题(Problem) ?设计一个绘图程序?绘制基本图元线对象(Line) 、圆对象(Circle) 、矩形对象(Rectangle) ?绘制组合对象(Picture) ,可包含任意基本图元的组合武汉科技大学 问题(Problem) 武汉科技大学 问题(Problem) public class Line { public void Draw() { ("Draw a Line"); }} public class Circle { public void Draw() { ("Draw a Circle"); }} public class Rectangle { public void Draw() { ("Draw a Rectangle"); }} 武汉科技大学 问题(Problem) public class Picture { protected ArrayList picList = new ArrayList (); public void Add(object pic) { (pic); } public void Remove(object pic) { (pic); } public ArrayList GetChilds () { return picList ;}} 武汉科技大学 问题(Problem) 武汉科技大学 问题(Problem) static void Main(string[] args ) { Picture root = new Picture(); Picture branch1 = new Picture(); Picture branch2 = new Picture(); Line line1 = new Line(); Circle circle1 = new Circle(); Rectangle rect1 = new Rectangle(); Line line2 = new Line(); Circle circle2 = new Circle(); Rectangle rect2 = new Rectangle(); (line1); (circle1); (branch1); (line2); (branch2); (circle2); (rect2); (rect1); Display( ()); (); } 武汉科技大学 问题(Problem) public static void Display( ArrayList root) { for (int i = 0; i < ; i++) { if (root[ i ] is Line ){ ((Line)root[ i ]).Draw(); } else if (root[ i ] is Circle ) { ((Circle)root[ i ]).Draw(); } else if (root[ i ] is Rectangle ) { ((Rectangle)root[ i ]).Draw(); } else if (root[ i ] is Picture ) { Display(((Picture)root[ i
.设计模式.posite) 来自淘豆网www.taodocs.com转载请标明出处.