58. 클래스상속
.NET프로그래밍/C# 3.5 SP1 2009. 8. 14. 12:05 |
==> 클래스상속. cs
using System;
public class 클래스상속
{
public static void Main(string[] args)
{
Child c = new Child();
c.Hi();
}
}
==============================================================================================
==> ParentChild.cs
using System;
public class Parent : Object //( Object는 생략가능 )
{
private string msg = "Hi";
protected string Message
{
get { return msg; }
set { msg = value; }
}
public virtual void Hi()
{
Console.WriteLine(msg);
}
}
public class Child : Parent // Parent클래스의 모든 기능을 Child클래스에 상속하겠다
{
public override void Hi()
{
Console.WriteLine("자식 : " + Message);
}
}
==============================================================================================
똑같은 내용 참고자료
클래스상속.cs
using System;
public class 클래스상속
{
static void Main(string[] args)
{
Child c = new Child();
// c.msg = "메롱~";
// 필드값 변경 가능하기 때문에 private로 변경
// 자식 클래스에만 사용할 수 있게 하려면 protected
c.Hi(); // 자식
Console.WriteLine(c.ToString()); // Object로 부터 상속
}
}
==============================================================================================
ParentChild.cs
using System;
public class Parent : Object // 모든 클래스는 Object클래스로 부터 상속 받음. 생략가능
{
private string msg = "Hi"; // 필드는 캡슐화. 숨겨야 함
public string Message
{
get { return msg; }
set { msg = value; }
}
public virtual void Hi()
{
Console.WriteLine("Hi");
}
}
public class Child : Parent
{
//public string msg = "Hi2"; // 부모클래스에 선언되어서 따로 안해도 됨
public override void Hi() // new : 부모클래스의 Hi()메소드를 재정의
{
Console.WriteLine("자식 :" + Message);
}
}
'.NET프로그래밍 > C# 3.5 SP1' 카테고리의 다른 글
60. 부모의 멤버접근 (0) | 2009.08.14 |
---|---|
59. 자동차클래스상속 (0) | 2009.08.14 |
57. 네임스페이스(Namespace) (0) | 2009.08.14 |
56. 클래스복습 (0) | 2009.08.14 |
55. 무명메서드 (0) | 2009.08.13 |