[C#]추상 Class

2016.07.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";
}
}










Posted by 떡잎
BLOG main image
프로그래밍 공부하면서 써가는 개인 노트 (따라서 여기에 씌여있는 소스의 신빙성을 보장 못함 -.-;;) 이 블로그 보면서 틀린 점이 있으면 꼬옥 알려주세요. by 띠리

공지사항

카테고리

분류 전체보기 (323)
Win32 SDK 초보 (27)
통신관련 (11)
MFC TIP (20)
C/C++ TIP (10)
개발기타 (10)
링크 (2)
견물생심 (24)
이것저것 (8)
용어메모 (3)
데이터베이스 (32)
비주얼 베이직 (10)
하드웨어 (3)
C# (42)
Xcode (3)
델파이 (82)
홈페이지 (5)
MindStorm (0)
낙서 (5)
스크래치 (0)
기타 (6)
아두이노 (1)
라즈베리파이 (2)
안드로이드 (6)
파이썬 (0)
WEB (2)
Total : 964,050
Today : 65 Yesterday : 370