Pass a derived class reference to a base class reference : Class Inheritance « Class Interface « C# / C Sharp

Home
C# / C Sharp
1.2D Graphics
2.Class Interface
3.Collections Data Structure
4.Components
5.Data Types
6.Database ADO.net
7.Date Time
8.Design Patterns
9.Development Class
10.Event
11.File Stream
12.Generics
13.GUI Windows Form
14.Internationalization I18N
15.Language Basics
16.LINQ
17.Network
18.Office
19.Reflection
20.Regular Expressions
21.Security
22.Services Event
23.Thread
24.Web Services
25.Windows
26.Windows Presentation Foundation
27.XML
28.XML LINQ
C# / C Sharp » Class Interface » Class InheritanceScreenshots 
Pass a derived class reference to a base class reference
Pass a derived class reference to a base class reference

/*
C#: The Complete Reference 
by Herbert Schildt 

Publisher: Osborne/McGraw-Hill (March 8, 2002)
ISBN: 0072134852
*/


// Pass a derived class reference to a base class reference. 
 
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; 
  
 
  // Construct object from an object. 
  public TwoDShape(TwoDShape ob) { 
    width = ob.width; 
    height = ob.height; 
  
 
  // 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. 
  public Triangle() { 
    style = "null"
  
 
  // Constructor for Triangle. 
  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";  
  
 
  // Construct an object from an object. 
  public Triangle(Triangle ob: base(ob) { 
    style = ob.style; 
  
 
  // Return area of triangle. 
  public double area() { 
    return width * height / 2
  
 
  // Display a triangle's style. 
  public void showStyle() { 
    Console.WriteLine("Triangle is " + style)
  

 
public class Shapes7 
  public static void Main() { 
    Triangle t1 = new Triangle("right"8.012.0)
 
    // make a copy of t1 
    Triangle t2 = new Triangle(t1)
 
    Console.WriteLine("Info for t1: ")
    t1.showStyle()
    t1.showDim()
    Console.WriteLine("Area is " + t1.area())
 
    Console.WriteLine()
 
    Console.WriteLine("Info for t2: ")
    t2.showStyle()
    t2.showDim()
    Console.WriteLine("Area is " + t2.area())
  
}


           
       
Related examples in the same category
1.Inheritance 3Inheritance 3
2.Four layers of class hierarchyFour layers of class hierarchy
3.An example of inheritance-related name hidingAn example of inheritance-related name hiding
4.Using base to overcome name hidingUsing base to overcome name hiding
5.Call a hidden methodCall a hidden method
6.A multilevel hierarchy 1A multilevel hierarchy 1
7.Demonstrate when constructors are calledDemonstrate when constructors are called
8.illustrates inheritanceillustrates inheritance
9.Private field and public Property in inheritancePrivate field and public Property in inheritance
10.Illustrates versioningIllustrates versioning
11.Class Hierarchy testClass Hierarchy test
12.Class Hierarchy with two children classClass Hierarchy with two children class
13.A simple class hierarchyA simple class hierarchy
14.A base class reference can refer to a derived class objectA base class reference can refer to a derived class object
15.a multilevel hierarchya multilevel hierarchy
16.Build a derived class of Vehicle for trucksBuild a derived class of Vehicle for trucks
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.