Test abstract class : Abstract Class « Class Interface « C# / C Sharp






Test abstract class

Test abstract class
/*
Learning C# 
by Jesse Liberty

Publisher: O'Reilly 
ISBN: 0596003765
*/
 using System;

 abstract class Window
 {
     // constructor takes two integers to
     // fix location on the console
     public Window(int top, int left)
     {
         this.top = top;
         this.left = left;
     }

     // simulates drawing the window
     // notice: no implementation
     abstract public void DrawWindow();

     protected int top;
     protected int left;

 }

 // ListBox derives from Window
 class ListBox : Window
 {
     // constructor adds a parameter
     public ListBox(
         int top,
         int left,
         string contents):
         base(top, left)  // call base constructor
     {

         listBoxContents = contents;
     }

     // an overridden version implementing the
     // abstract method
     public override void DrawWindow()
     {

         Console.WriteLine ("Writing string to the listbox: {0}",
             listBoxContents);
     }

     private string listBoxContents;  // new member variable
 }

 class Button : Window
 {
     public Button(
         int top,
         int left):
         base(top, left)
     {
     }

     // implement the abstract method
     public override void DrawWindow()
     {
         Console.WriteLine("Drawing a button at {0}, {1}\n",
             top, left);
     }

 }

 public class TesterAbstractClass
 {
     static void Main()
     {
         Window[] winArray = new Window[3];
         winArray[0] = new ListBox(1,2,"First List Box");
         winArray[1] = new ListBox(3,4,"Second List Box");
         winArray[2] = new Button(5,6);

         for (int i = 0;i < 3; i++)
         {
             winArray[i].DrawWindow();
         }
     }
 }

           
       








Related examples in the same category

1.Abstract Classes and Methods
2.Bank Account class is abstract since there is no single implementation for Withdrawal
3.Illustrates abstract classes and methodsIllustrates abstract classes and methods
4.Demostrates the use of an abstract class, including an abstract method and abstract propertiesDemostrates the use of an abstract class, including an abstract method and abstract properties
5.Create an abstract classCreate an abstract class