Задачи на ООП в Java. Часть 5
Пусть класс Employee наследует
от класса User из данного
урока.
Переопределите в классе Employee
конструктор родителя, добавив в него
параметр с возрастом и зарплатой.
Сделайте геттеры для возраста и зарплаты.
Дан следующий код:
class User { private int age; public void setAge(int age) { if (age >= 0) { this.age = age; } else { System.out.println("need age more 0"); } } } class Employee extends User { public void setAge(int age) { if (age <= 120) { if (age >= 0) { this.age = age; } else { System.out.println("need age more 0"); } } else { System.out.println("need age less 120"); } } };
В классе Employee упротите
сеттер возраста, использовав
оригинальный метод родителя.
Дан следующий класс-родитель:
class User { private String name; private String surn; public void setName(String name) { this.name = name; } public String getName() { return this.name; } public void setSurn(String surn) { this.surn = surn; } public String getSurn() { return this.surn; } };
Сделайте класс Employee,
который будет наследовать
от этого родителя.
Создайте объект класса Employee
и вызовите унаследованные
сеттеры и геттеры.
В классе Employee сделайте
следующий метод:
public String getFull() { return this.name + " " + this.surn; };
Убедитесь, что код метода приведет
к ошибке (поля private в родителе).
Дан следующий код:
class User { private String name; public void setName(String name) { this.name = name; } public String getName() { return this.name; } } class Employee extends User { public void setName(String name) { if (name.length() > 0) { this.name = name; // ошибка: private поле } } };
В классе потомка переопределяется метод родителя. Исправьте проблемы в этом коде.
Попробуйте в классе Employee
воспользоваться приватным методом
родителя.
Дан следующий код:
class User { private String name; public void setName(String name) { this.name = name; } public String getName() { return this.name; } } class Employee extends User { public void setName(String name) { if (name.length() > 0) { this.name = name; } } };
Перепишите через защищенное свойство (protected).