클래스 디자인에 문제가 있습니다.다형성 문제 - 가상 필드? (C#)
내 게임 개체에 핵심 클래스가 있습니다. 그리는 동안 객체에서 위치를 가져와야합니다. 안타깝게도 객체는 기본 유형으로 간주되므로 파생 클래스에서 위치를 가져 오지 않지만 부모에서 가져온 위치는 가져옵니다. 가상으로 필드를 정의하는 것은 내 문제를 해결하지만, 나는이 문제를 방지하기 위해 클래스 스키마를 설계 할 수있는 방법에 무슨 일이 일어나고 있는지의
간단한 예를 :(불가능 다음과 같습니다.?
class BaseClass { public Vector2 position = new Vector2(){X=0,Y=0}; }
class Class:BaseClass { public new Vector2 position = new Vector2(){X=10,Y=10}; }
BaseClass c = new Class();
// c.position.X is now 0
왜 당신이 첫번째 장소에있는 기본 클래스 필드를 숨기고 :
양자 택일로, 당신은 기본 클래스가 위치를 처리하고 단지 초기 값을 전달하도록 할 수 있습니다? –