Car, Wheel 및 Brakes 클래스가 있다고 가정 해 봅시다. 자동차에는 "4 개의 바퀴가있어서 자동차의 인스턴스가 만들어지면 동시에 4 개의 바퀴 인스턴스가 생성되기를 원합니다. 마찬가지로 오토바이를 제작하는 경우 바퀴 두 개를 만들어야합니다. 내 질문에 휠 인스턴스를 가장 잘 만들고 Car 클래스를 만들 때 이름을 지정하는 방법은 무엇입니까?클래스가 다른 클래스 객체와 "관계가"있는 경우
이제 브레이크를 특정 바퀴에 지정하려고합니다. 예 : FrontBrakes가 frontLeft, frontRight Wheels에 연결되어 있습니다. Wheel 클래스에서 AttachedTo라는 속성을 만들어야합니까? 특정 바퀴에 대한 브레이크를 말하기 위해 소유권을 어떻게 할당합니까?
public class Car
{
public Car()
{
Wheel frontLeft = new Wheel();
Wheel frontRight = new Wheel();
Wheel backLeft = new Wheel();
Wheel backRight = new Wheel();
Brake frontBrakes = new Brake();
Brake backBrakes = new Brake();
}
}
public class Wheel
{
public int Size;
public string Brand;
public Brake AttachedTo { get; set; }
}
public class Brake
{
public string Type;
}
제목을 편집했습니다. "[제목에"태그 "가 포함되어 있어야합니까?] (http://meta.stackexchange.com/questions/19190/)"합의가 "아니오, 그렇지 않아야합니다"로 표시되어야합니다. –
정말로 제대로하고 싶다면 실제 상황과 똑같이 만들 수 있습니다. "바퀴"는 여러 가지 재료로 이루어진 많은 다른 구성 요소로 이루어져 있습니다. 모든 구성 요소는 조립되지 않지만 외부 배우가 조립합니다. – Will
자신에게 물어야하는 질문은 "이 유형의 사용자가 어떻게 상호 작용할 것입니까?"입니다. 만약 누군가가 'Wheel'에 대한 참조를 가지고 있고, 'Brake'가 무엇인지 알 필요가 있다면, 'Wheel'클래스에는 'Brake'라는 속성이 더 있어야합니다. 마찬가지로 '브레이크'에 대해서도 - 만약 '브레이크'의 사용자가 '휠'이 무엇에 부착되어 있는지 알아야한다면, 그런 속성이 더 좋을 것입니다. 실제 사용자 기반 시나리오가없는 경우이 기능을 추가하지 마십시오. –