В практиката, която правя сега, имам 3 класа в йерархията: Служител (абстрактен клас) Работник разширява Служител Мениджър разширява Служител
Имам допълнителен клас, който използва тези 3 класа: Factory.
Сега трябва да създам метод, който добавя Employee e към масив от Employees. Атрибути:
_emps - масив от тип Служител. _numOfEmpes - показва броя на служителите в масива.
Това е кодът, който написах:
public boolean addEmployee(Employee e){
if (this._numOfEmps<MAX_EMPS)
{
this._emps[this._numOfEmps]=e;
return true;
}
return false;
}
Проблемът е, че мисля, че по реда:
this._emps[this._numOfEmps]=e;
Създавам масив от обекти с псевдоними, за които не съм сигурен, че трябва да направя. Това, което обикновено правя е:
this._emps[this._numOfEmps)=new Employee(e);
Но тъй като Employee class е абстрактен, не мога да направя това.
Това е практика на полиморфизъм, така че предполагам, че професорът е искал да поставим работници и мениджъри в масива, но не мога да добавя работници и мениджъри към масива в метода.
Всяка помощ ще бъде страхотна,
Благодаря ти.
Employee
. По този начин можете да поставите всякакви класове в него, които разширяватEmployee
. - person Lukas Knuth   schedule 13.04.2013