Mega Code Archive

 
Categories / C# / Class Interface
 

Illustrates deriving an interface from one interface

/* Mastering Visual C# .NET by Jason Price, Mike Gunderloy Publisher: Sybex; ISBN: 0782129110 */ /*   Example8_5.cs illustrates deriving an   interface from one interface */ using System; // define the IDrivable interface interface IDrivable {   // method declarations   void Start();   void Stop();   // property declaration   bool Started   {     get;   } } // define the IMovable interface (derived from IDrivable) interface IMovable : IDrivable {   // method declarations   void Accelerate();   void Brake(); } // Car class implements the IMovable interface class Car : IMovable {   // declare the underlying field used by the   // Started property of the IDrivable interface   private bool started = false;   // implement the Start() method of the IDrivable interface   public void Start()   {     Console.WriteLine("car started");     started = true;   }   // implement the Stop() methodof the IDrivable interface   public void Stop()   {     Console.WriteLine("car stopped");     started = false;   }   // implement the Started property of the IDrivable interface   public bool Started   {     get     {       return started;     }   }   // implement the Accelerate() method of the IMovable interface   public void Accelerate()   {     Console.WriteLine("car accelerating");   }      // implement the Brake() method of the IMovable interface   public void Brake()   {     Console.WriteLine("car braking");   } } public class Example8_5 {   public static void Main()   {     // create a Car object     Car myCar = new Car();     // call myCar.Start()     Console.WriteLine("Calling myCar.Start()");     myCar.Start();     // call myCar.Accelerate()     Console.WriteLine("Calling myCar.Accelerate()");     myCar.Accelerate();   } }