Java Basics
Зд,авейте,
Може .и някой да ми помогне с тази задача?
1. Да се състави масив от 10 елемента от тип Person.
2. Да се създадът по два обекта от тип Person, Student и Employee и да се вкарат в масива от хора.
3. Да се обходим масива и в зависимост от това дали обекта е от
тип Person, Student или Employee да се извика съответно метода
showPersonInfo, showStudentInfo или showEmployeeInfo.
4. Да се обходи още веднъж масива с хора и за всеки човек, който е работник, да се изведе на екрана сумата, която му се дължи при 2 часа работа извън работно време.
Благодаря виж до къде съм я докарала.
Методите са създадени, класовете също, но не знам как да обходя масива поради това, че това са извикани конструктори от класове. Стигнала съм до тук.
https://pastebin.com/6uR23NNe
Благодаря предварително.
можеш ли да ми пратиш линк за условието да го погледна? Ако разбирам добре условието, както колегата ти е казал, Person трябва да ти е базов клас -
другите класове Student и Employee ще са негови наследници - public class Student extends Person { TODO.. } и същото за Employee class. Методите за инфо трябва да са във съответните класове, аз бих ги направил със
но можеш да си ги направиш както ти е по условие защото понякога ти проверяват методите.
Понеже Person е abstract class, не можеш да създадеш инстанция на този class, но можеш да имаш инстанций на неговите наследници. (във твоят код пълниш масив от Person със инстанции на class Person -> new Person("Peter", 0, false) това ме навежда на мисълта че Person не ти е абстрактен клас)
примерна инстанция на наследник - Person person = new Student()
Така можеш да създадеш масив от Person и да го пълниш със всичките негови наследници. И да си го обхождаш лесно със един foreach (за InteliJ напиши "iter" и натисни enter)
Но след това т3 от условието което си написъла малко ме обърква. Предполагам, че трябва да изкараш инфо за наследниците Student и Employee... Ако можеш да изпратиш един линк към условието ще е супер.
Тава е условието, което имама в pdf. Останалите нища от условието съм ги направила без последната част.
Наследяване на класове. Идентификатори за достъп.
Използване на ключова дума super.
Задача за домашно:
Да се направи иерархия от класовете Person, Student и Employee
Класът Person репрезентиращ човек да има следните
Полета:
– name - име
– age - години
– isMan - поле, показващо пола
Коструктори:
– Единствен конструктор, с параметри за всичките полета на класа
Метод:
– Метод showPersonInfo, който показва информация за човека
(изписва на конзолата стойността на всичките му полета по
подходящ начин)
Класът Student наследяващ Person, репрезентиращ ученик да има
Полета:
– score - показва оценката на ученика (число между 2 и 6, не е
задължително да е цяло)
Единствен конструктор:
– Student(String name, int age, boolean isMan, double score)
задаващ стойности и на наследените полета
www.pragmatic.bg
Метод showStudentInfo() който показва информация за човека и
информация за оценката му (чрез надписи на екрана)
Класът Employee да наследява Person и да дефинира:
Полета:
– daySalary показва дневната заплата на работника
Конструктор които инициализира всичките му полета (собствени и
наследени)
Методи:
В случай че на работник се наложи да работи извън работно време,
на него му се дължи допълнителна сума пари (overtime) за часовете които
е работил. Сумата се пресмята по следния начин: ако работника, няма
навършени 18 години, дължимата сума е 0. В противен случай, за всеки
отработен час, на работника се заплаща сумата която получава на час
(зависи от дневната заплата) умножена по 1,5.
– метод calculateOvertime(double hours) който пресмята и връща
стойността на сумата която му се дължи при работа извън работно
време
– метод showEmployeeInfo(), който показва информация за човека,
както и информация за дневната му заплата
Да се напише и демонстративен клас с main метод в който:
1. Да се състави масив от 10 елемента от тип Person.
2. Да се създадът по два обекта от тип Person, Student и Employee и да се вкарат в масива от хора.
3. Да се обходим масива и в зависимост от това дали обекта е от
тип Person, Student или Employee да се извика съответно метода
showPersonInfo, showStudentInfo или showEmployeeInfo.
4. Да се обходи още веднъж масива с хора и за всеки човек, който е работник, да се изведе на екрана сумата, която му се дължи при 2 часа работа извън работно време.