Mega Code Archive

 
Categories / C# / Class Interface
 

Illustrates inheriting from a class and implementing multiple interfaces

/* Mastering Visual C# .NET by Jason Price, Mike Gunderloy Publisher: Sybex; ISBN: 0782129110 */ /*   Example8_3.cs illustrates inheriting from a class and   implementing multiple interfaces */ using System; interface IDrivable {   // method declarations   void Start();   void Stop();   // property declaration   bool Started   {     get;   } } interface ISteerable {   // method declarations   void TurnLeft();   void TurnRight(); } class MotorVehicle {   // declare the field   private string model;   // define a constructor   public MotorVehicle(string model)   {     this.model = model;   }   // declare a property   public string Model   {     get     {       return model;     }     set     {       model = value;     }   } } // Car class inherits from the MotorVehicle class and // implements the IDrivable and ISteerable interfaces class Car : MotorVehicle, IDrivable, ISteerable {   // declare the underlying field used by the   // Started property of the IDrivable interface   private bool started = false;   // define a constructor   public Car(string model) :   base(model)   // calls the base class constructor   {     // do nothing   }   // 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 TurnLeft() method of the ISteerable interface   public void TurnLeft()   {     Console.WriteLine("car turning left");   }      // implement the TurnRight() method of the ISteerable interface   public void TurnRight()   {     Console.WriteLine("car turning right");   } } public class Example8_3 {   public static void Main()   {     // create a Car object     Car myCar = new Car("MR2");     Console.WriteLine("myCar.Model = " + myCar.Model);     // call myCar.Start()     Console.WriteLine("Calling myCar.Start()");     myCar.Start();     // call myCar.TurnLeft()     Console.WriteLine("Calling myCar.TurnLeft()");     myCar.TurnLeft();   } }