C#不支持多重继承。要实现多个继承,请使用接口。
这是我们在Shape类中的界面PaintCost-
public interface PaintCost { int getCost(int area); }
形状是我们的基类,而矩形是派生类-
class Rectangle : Shape, PaintCost { public int getArea() { return (width * height); } public int getCost(int area) { return area * 80; } }
现在让我们看一看完整的代码,以在C#中实现多个继承的接口-
Using System; namespace MyInheritance { class Shape { public void setWidth(int w) { width = w; } public void setHeight(int h) { height = h; } protected int width; protected int height; } public interface PaintCost { int getCost(int area); } class Rectangle : Shape, PaintCost { public int getArea() { return (width * height); } public int getCost(int area) { return area * 80; } } class RectangleDemo { static void Main(string[] args) { Rectangle Rect = new Rectangle(); int area; Rect.setWidth(8); Rect.setHeight(10); area = Rect.getArea(); //打印对象的区域。 Console.WriteLine("Total area: {0}", Rect.getArea()); Console.WriteLine("Total paint cost: ${0}" , Rect.getCost(area)); Console.ReadKey(); } } }