2016-10-10 2 views
0

나는 OOP의 원리에 대해 배우고 있으며이 운동 문제를하고있었습니다.개체 속성을 고유하게 만드는 방법은 무엇입니까?

우리에게는 학교가 있습니다. 학교에는 학생들의 수업이 있습니다. 각 반에는 명의 교사가 있습니다. 각 교사는 일련의 과목을 가르칩니다. 학생들 에는 고유 한 번호가 있습니다. 클래스에는 고유 텍스트 식별자가 있습니다. 교사 이름이 있습니다. 수업에는 이름, 수업 수, 및 연습 횟수가 있습니다. 교사뿐만 아니라 학생들도 사람들입니다. 너의 임무는 그들의 속성과 함께 클래스 (OOP의 관점에서)를 모델링하는 것이며, 작업은 클래스 계층을 정의하고 Visual Studio로 클래스 다이어그램을 만든다.

부품을 굵게 표시하는 방법을 모르겠다. 내가 뭘했는지는 일반적으로 형용사 속성을 만드는 것이 었습니다. 다른 개체가 동일한 고유 번호를 가질 수없는 방법을 확신하지 못합니다. 중복을 허용하지 않는 Dictionary 데이터 구조를 사용하려고 생각했습니다. 이 고유 번호를 키로 사용하고 개체를 값으로 사용합니다. 내 생각이 맞습니까?

+0

사용 된 경우 생성자에 당신은 확인하실 수 있습니다 static int classNo = 0'이 클래스를위한'public static' getter를 만들고 getter 클래스에서'classNo'를'1'로 증가시킵니다. 따라서 학생이 'classNo'에 대한 학생의 요청을 할 때마다 그 학생은 독특한 'classNo'를 얻을 것입니다. 다른 분야와 동일합니다 .. – samirk433

+0

와우 이것은 우아한 해결책입니다. 이것은 정상적인 관행입니까 아니면 디자인 패턴으로 간주됩니까? 나는 아직 그것에 대해 언급하지 않았다. – Nate

+0

디자인 패턴 클래스에서 이것을 배웠습니다. 좋은 연습을 고려하고있는 것 같습니다. – samirk433

답변

0

당신은 예를 들어 클래스 (클래스의 모든 인스턴스에 대한 동일) 정적 개인 배열 속성을 가질 수 있으며,이 값이 개인`:: classNo 고유하게 만들기 위해

관련 문제