Как создать эту модель для Struts MVC? - PullRequest
0 голосов
/ 18 марта 2011

У меня есть портал управления колледжем.Мне нужно создать следующие классы для изображения модели.

class Address
{
    String street;
    String city;

}

class Contact
{
   String phone;
   String mobile;
}

abstract class Person
{
   String name;
   String age;
   Address address;
   Contact contact;
}

class Student extends Person
{
   String course;
   String stream;
   String rollno;
}

class Faculty extends Person 
{
   String department;
   String faculty id;
}

Теперь я должен использовать методы getter-setter для инициализации экземпляров или конструкторов?

Как насчет агрегации в классе Person??

Как там должен работать конструктор ??

Ответы [ 2 ]

0 голосов
/ 18 марта 2011

Для этого вам понадобятся "бобы" = закрытые переменные-члены с геттерами и сеттерами для каждого. В зависимости от ваших потребностей вы можете создать конструктор, который имеет определенные параметры, которые должны быть установлены в объекте при создании экземпляра, но также и через установщики не напрямую (так как определенные установщики могут работать с установленным значением определенным образом, поэтому лучше не делать этого). напутать прямо с такими вещами, как this.student = "name").

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

Для агрегации людей также я считаю, что Контакт и Адрес должны быть Целыми числами, поскольку они представляют Внешний Ключ в другой таблице и думают о случае отношения «многие ко многим».

Модели - это, прежде всего, отражение базы данных в приложении.

0 голосов
/ 18 марта 2011

Да, я думаю, у вас должны быть методы получения и установки для объектов модели.Ваши атрибуты класса должны быть конфиденциальными.Конструкторы используются для того, чтобы разрешить передачу обязательной информации для построения объекта, без которого невозможно построить объект (или объект бесполезен)Как будто ты не можешь создать человека без имени и возраста.В вашем случае адрес и контакт могут быть необязательными.Таким образом, вы можете установить адрес / контактную информацию, используя методы мутатора.

Как упоминал Шринивас, конструкторы не являются альтернативой для метода мутатора.Цель конструктора - сделать обязательные вещи доступными для строительства объекта.Как без сырья, вы не можете построить здание.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...