سلام
من دو کلاس به نام های Car و Motor دارم که اینترفیس IDrivable رو پیاده سازی کردند.اگر کلاس Car دارای یک پراپرتی جدیدبنام Gear باشه نحوه ی دسترسی به اون چجوریه ؟
اینترفیس IDrivable :
interfaceIDrivable
{
void Start();
void Stop();
void MoveBack();
void MoveForward();
}
کلاس Motor :
classMotor:IDrivable
{
#region IDrivable Members
voidIDrivable.Start()
{
Console.WriteLine("Motor Start");
}
voidIDrivable.Stop()
{
Console.WriteLine("Car Stop");
}
voidIDrivable.MoveBack()
{
Console.WriteLine("Motor Move Backward");
}
voidIDrivable.MoveForward()
{
Console.WriteLine("Motor Move Forward");
}
#endregion
}
کلاس Car :
classCar:IDrivable
{
#region IDrivable Members
publicvoid Start()
{
Console.WriteLine("Car Start");
}
publicvoid Stop()
{
Console.WriteLine("Car Start");
}
publicvoid MoveBack()
{
Console.WriteLine("Car Move Backward");
}
publicvoid MoveForward()
{
Console.WriteLine("Car Move Forward");
}
#endregion
privateint m_Gear;
publicint Gear
{
get
{
return m_Gear;
}
set
{
m_Gear = value;
}
}
}
کلاس Driver :
classDriver
{
publicIDrivable Vehicle;
publicvoid Drive()
{
Vehicle.Start();
Vehicle.MoveForward();
Vehicle.MoveBack();
Vehicle.Stop();
}
}
کلاس اصلی جهت استفاده :
Driver driver = newDriver();
driver.Vehicle = newCar();
driver.Drive();
چطور به پراپرتی Gear کلاس Car که در اینترفیس پیاده سازی نشده دسترسی داشته باشم ؟