는, 다음 클래스 I 애플에 업 캐스팅 새로운 과일하지만 인스턴스를 어떻게어떻게 기본 클래스를 인스턴스화 한 다음 파생 클래스로 변환 할 수 있습니까? 나는이 작업을 수행하는 방법을 궁금
public class Fruit
{
public string Name { get; set; }
public Color Color { get; set; }
}
public class Apple : Fruit
{
public Apple()
{
}
}
을 고려, 과일의 무리를 인스턴스화하고 이름으로 그들에게 사과를 만들 수있는 방법이 & 색상 세트. 수동으로 딥 카피해야합니까? 물론
이
Fruit a = new Fruit();
a.Name = "FirstApple";
a.Color = Color.Red;
Apple wa = a as Apple;
System.Diagnostics.Debug.Print("Apple name: " + wa.Name);
내가이 작업을 수행 할 수있는 더 나은 디자인이있는 AppleCTor에 과일을 전달하고 수동으로 이름과 색 (또는 1-n 개의 속성)을 설정해야합니까 실패?
지구상에서 왜 이것을하고 싶습니까? – Welbog
@welbog, prolly never to;) 디자인 상 결함을 보여 주며, 과일은 템플릿으로, 사과는 그것을 확장하고, 다른 사람들은 과일을 사용합니다. – Eric