Mega Code Archive

 
Categories / C# / Class Interface
 

A multilevel hierarchy 1

/* C#: The Complete Reference  by Herbert Schildt  Publisher: Osborne/McGraw-Hill (March 8, 2002) ISBN: 0072134852 */ // A multilevel hierarchy.    using System;    class TwoDShape {    double pri_width;  // private    double pri_height; // private       // Default constructor.    public TwoDShape() {      width = height = 0.0;    }      // Constructor for TwoDShape.    public TwoDShape(double w, double h) {      width = w;      height = h;    }      // Construct object with equal width and height.    public TwoDShape(double x) {      width = height = x;    }      // Properties for width and height.    public double width {       get { return pri_width; }       set { pri_width = value; }    }      public double height {       get { return pri_height; }       set { pri_height = value; }    }      public void showDim() {      Console.WriteLine("Width and height are " +                         width + " and " + height);    }  }    // A derived class of TwoDShape for triangles.  class Triangle : TwoDShape {    string style; // private        /* A default constructor. This invokes the default       constructor of TwoDShape. */    public Triangle() {      style = "null";    }      // Constructor    public Triangle(string s, double w, double h) : base(w, h) {      style = s;     }      // Construct an isosceles triangle.    public Triangle(double x) : base(x) {      style = "isosceles";     }      // Return area of triangle.    public double area() {      return width * height / 2;    }      // Display a triangle's style.    public void showStyle() {      Console.WriteLine("Triangle is " + style);    }  }    // Extend Triangle.  class ColorTriangle : Triangle {    string color;      public ColorTriangle(string c, string s,                         double w, double h) : base(s, w, h) {      color = c;    }      // Display the color.    public void showColor() {      Console.WriteLine("Color is " + color);    }  }    public class Shapes6 {    public static void Main() {      ColorTriangle t1 =            new ColorTriangle("Blue", "right", 8.0, 12.0);      ColorTriangle t2 =            new ColorTriangle("Red", "isosceles", 2.0, 2.0);        Console.WriteLine("Info for t1: ");      t1.showStyle();      t1.showDim();      t1.showColor();      Console.WriteLine("Area is " + t1.area());        Console.WriteLine();        Console.WriteLine("Info for t2: ");      t2.showStyle();      t2.showDim();      t2.showColor();      Console.WriteLine("Area is " + t2.area());    }  }