프로그래밍 노트

[C#]추상 Class 본문

C#/기초

[C#]추상 Class

떡잎 2016. 7. 13. 01:09

C#의 추상(Abstract) Class는 

    Interface와 비슷한다.

    Interface에서는 Method 정의만 가능하지만 추상 Class에서는 실제로 Method를 가질 수 있다.

    Interface와 같이 Method의 정의만도 가능하다.

    추상 Class는 반드시 다른 Class에 상속되어 사용된다.


    추상 Class 예제

private void Form1_Load(object sender, EventArgs e)
{
Vehicle a = new Car();
Vehicle b = new Bike();
a.Run();
b.Run();
Close();
}
/// <summary>
/// 추상 Class
/// </summary>
public abstract class Vehicle
{
// Method만 정의 [abstract]
public abstract string getName();
public void Run()
{
MessageBox.Show(getName() + " Run!");
}
}
public class Car : Vehicle
{
// Method만 정의된 것을 구현하는 곳에서는 [override]로 써준다.
public override String getName()
{
return "Car";
}
}
public class Bike : Vehicle
{
public override String getName()
{
return "Bike";
}
}


추상 Class에서 Interface를 사용한 예제

private void Form1_Load(object sender, EventArgs e)
{
Vehicle a = new Car();
Vehicle b = new Bike();
a.Run();
b.Run();
Close();
}
public interface IVehicle
{
string getName();
void Run();
}
/// <summary>
/// 추상 Class
/// </summary>
public abstract class Vehicle : IVehicle
{
public abstract string getName();
public void Run()
{
MessageBox.Show(getName() + " Run!");
}
}
public class Car : Vehicle
{
// Method만 정의된 것을 구현하는 곳에서는 [override]로 써준다.
public override String getName()
{
return "Car";
}
}
public class Bike : Vehicle
{
public override String getName()
{
return "Bike";
}
}










Comments