Test abstract class : Abstract Class : Class Interface C# Source Code


Custom Search

C# Source Code » Class Interface » 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();
         }
     }
 }

           
       
    
   
  
   







HTML code for linking to this page:

Follow Navioo On Twitter

C# Source Code

 Navioo Class Interface
» Abstract Class