![](https://cos-cdn.shuashuati.com/pipixue-web/2020-1231-2005-12/ti_inject-812ce.png)
下面这段代码实现了任意多个单个图形的组合。 class Shape { virtual public void Draw() { } } class Rect:Shape { private int x1 , y1, x2, y2; override public void Draw() { Console.WriteLine("绘制一个矩形({0},{1}),({2},{3})!", x1, y1, x2, y2); } } class Circle:Shape { private int x, y, r; override public void Draw() { Console.WriteLine("绘制一个圆({0},{1}),半径{2}!", x, y, r); } } class Com { private List
listShape = new List
(); public void Add(Shape shp) { listShape.Add(shp); } override public void Draw() { Console.WriteLine("开始绘制组合图形"); foreach (Shape shp in listShape) { shp.Draw(); } Console.WriteLine("绘制组合图形结束"); } } 1> 哪些代码表现了多态的特征: (1) ,。请结合这些代码描述一下多态现象: (2) 2> 重载和覆盖之间的异同, 相同点 : (3) ,三点不同之处: (4) 、 (5) 、 (6) 3> 开闭原则的含义: (7) ,上述代码满足开闭原则,请具体分析一下: (8) 4>Com类满足针对基类编程原则,结合Com类分析一下该原则的好处: (9) , 5> listShape 中存放的Shape类型的对象,实际指向的是某个具体的图形,请分析一下为什么子类对象可以转化为基类对象: (10)