2016-10-10 2 views
0

Я изучаю принципы ООП и занимаюсь этим вопросом упражнений.Как сделать свойство объекта уникальным?

Нам дают школу. В школе есть классы студентов. В каждом классе есть набор учителей. Каждый учитель преподает набор курсов. У студентов есть имя и уникальный номер в классе. Классы имеют уникальный текст идентификатор. У учителей есть имена. Курсы имеют имя, кол-во классов и количество упражнений. Учителя, а также студенты - это люди. Ваша задача состоит в моделировании классов (с точки зрения ООП) вместе с их атрибутами и операциями . Определите иерархию классов и создайте диаграмму класса с помощью Visual Studio.

Я не уверен, как обеспечить части, выделенные жирным шрифтом. То, что я делал, обычно делало свойства прилагательных. Я не уверен, как обеспечить, чтобы другие объекты не могли иметь один и тот же уникальный номер. Я думал об использовании структуры данных словаря, которая не позволяет дублировать. Я использовал бы это уникальное число как ключ, а объект - его ценность. Правильно ли здесь моя мысль?

+0

сделать classNo уникальный :: 'частный static int classNo = 0' теперь сделать 'public static' getter для этого класса, в классе getter также увеличивать' classNo' на '1'. Поэтому каждый раз, когда ученик запрашивает свой «классNo», он/она получит уникальный «классNo». то же для других полей. – samirk433

+0

Ничего себе это элегантное решение. Является ли эта нормальная практика или считается шаблоном проектирования? Мне еще нужно коснуться этого. – Nate

+0

Я узнал об этом в классе шаблонов проектирования, я думаю, что он рассматривает хорошую практику. – samirk433

ответ

0

вы можете иметь, например, статический массив частной собственности (то же самое для каждого экземпляра класса) в классе, и на конструкторе Вы можете проверить, если это значение было использовано

Смежные вопросы