업 캐스팅 및 다운 캐스팅 :
업 캐스팅 : 파생 클래스에서 기본 클래스로 캐스팅 다운 캐스팅 : 기본 클래스에서 파생 클래스로 캐스팅
예와 동일하게 이해합시다.
다음과 같이 정의 된 두 클래스 Shape를 My parent 클래스로, Circle을 Derived 클래스로 간주합니다.
class Shape
{
public int Width { get; set; }
public int Height { get; set; }
}
class Circle : Shape
{
public int Radius { get; set; }
public bool FillColor { get; set; }
}
업 캐스팅 :
모양 s = new Shape ();
원 c = s;
c와 s는 모두 동일한 메모리 위치를 참조하지만 둘 다 다른 뷰를 가지고 있습니다. 즉, "c"참조를 사용하면 기본 클래스와 파생 클래스의 모든 속성에 액세스 할 수 있지만 "s"참조를 사용하면 속성에 액세스 할 수 있습니다. 유일한 부모 클래스의.
업 캐스팅의 실제 예는 .net 프레임 워크의 모든 유형의 스트림 리더의 기본 클래스 인 Stream 클래스입니다.
StreamReader 리더 = new StreamReader (new FileStreamReader ());
여기서 FileStreamReader ()는 streadm reder로 업 캐스팅됩니다.
다운 캐스팅 :
모양 s = new Circle (); 여기에서 위에서 설명한 것처럼 s의 뷰는 유일한 부모입니다.
var c = (원) s;
다운 캐스팅의 실제 예는 WPF의 버튼 클래스입니다.
Employee emp= mgr;
충분합니다.