56. 클래스복습
.NET프로그래밍/C# 3.5 SP1 2009. 8. 14. 08:52 |
==> 클래스복습.cs
using System;
using Hyundai;
public class 클래스복습
{
public static void Main()
{
Hyundai.Car car = new Car("현대");
car.Length = 2; // 2대
car[0] = "에쿠스";
car[1] = "제네시스";
car.Show(); // 에쿠스, 제네시스
// 대리자를 통한 호출
CarHandler ch = new CarHandler(car.Show); // ch라는 대리자인스턴스를 생성하면서, Show라는 메서드를 등록
ch();
car.Go += car.Show;
car.OnGo();
}
}
==============================================================================================
==> Car.cs
using System;
// Namespace
namespace Hyundai
{
// Class생성
public class Car
{
// Field생성
private string name;
// Constructor생성
public Car()
{
// Empty
}
public Car(string name)
{
this.name = name;
}
// Property
private int _Length;
public int Length
{
get { return _Length; }
set
{
_Length = value;
names = new string[value];
}
}
// Indexer 생성
private string[] names;
public string this[int index]
{
get { return names[index]; }
set { names[index] = value; }
}
// Method 생성
public void Show()
{
Console.WriteLine("{0}", name);
foreach (string s in names)
{
Console.WriteLine("{0}", s);
}
}
// Destructor 생성
~Car()
{
names = null;
}
// Event생성
public event CarHandler Go; // CarHandler라는 대리자타입으로 (이벤트'Go'를)만들겠다.
// Event Handler 생성
public void OnGo()
{
if (Go != null)
{
Go();
}
}
}
// Delegate 생성
public delegate void CarHandler();
}
'.NET프로그래밍 > C# 3.5 SP1' 카테고리의 다른 글
58. 클래스상속 (0) | 2009.08.14 |
---|---|
57. 네임스페이스(Namespace) (0) | 2009.08.14 |
55. 무명메서드 (0) | 2009.08.13 |
54. 이벤트(Event) (0) | 2009.08.13 |
53. 대리자(Delegate) (0) | 2009.08.13 |