Практика на наследование в Java
Сделайте класс Employee
с методом role(),
возвращающим "staff".
Сделайте классы Manager
и Intern,
которые возвращают "manager"
и "intern".
Выведите обе строки.
Даны классы:
class User {
private final String id;
User(String id) {
this.id = id;
}
String status() {
return "off";
}
String getId() {
return id;
}
}
class Employee extends User {
Employee(String id) {
super(id);
}
@Override
String status() {
return "active";
}
}
Создайте Employee("e1"), сохраните в переменную
типа User. Выведите status() и getId().
Сделайте класс Shape с методом
tag(), возвращающим "B".
Сделайте класс Square, переопределите
tag() так, чтобы возвращалось "D",
и добавьте метод fullTag() -
склейку super.tag() и tag()
без разделителя.
Выведите fullTag().
Сделайте класс User
с защищённым полем login.
Сделайте класс Employee с методом
loginName(), возвращающим
login. Проверьте для "Kim".
Сделайте класс User с конструктором
name.
Сделайте класс Employee с параметрами
name и dept
и вызовом конструктора предка.
Выведите имя и отдел.
Даны типы:
class Shape {}
class Circle extends Shape {}
class Square extends Shape {}
Эти классы уже сложены в один список, дальше считаем элементы:
import java.util.List;
List<Shape> items = List.of(new Circle(), new Square(), new Circle());
Выведите, сколько элементов списка являются Circle.
Дан фрагмент:
class Employee {
private final String text;
Employee(String text) {
this.text = text;
}
String getText() {
return text;
}
}
class Alert extends Employee {
private final int level;
Alert(String text, int level) {
super(text);
this.level = level;
}
int getLevel() {
return level;
}
}
void show(Employee m) {
if (m instanceof Alert alert) {
System.out.println(alert.getLevel());
} else {
System.out.println(m.getText());
}
}
Вызовите show для new Employee("ok")
и new Alert("fail", 3). Зафиксируйте вывод.
Сделайте класс Label
с полем text.
Сделайте класс BoldLabel,
переопределите геттер: строка
в верхнем регистре.
Выведите text для "note".
Сделайте класс Vehicle
с финальным методом wheels().
Сделайте класс Bike, наследующий
Vehicle и возвращающий 2.
Выведите число колёс.
Даны классы:
class User {
private final String login;
User(String login) {
this.login = login;
}
String getLogin() {
return login;
}
}
class Admin extends User {
private final String scope;
Admin(String login, String scope) {
super(login);
this.scope = scope;
}
String getScope() {
return scope;
}
}
Сохраним объект Admin в переменную типа User:
User u = new Admin("root", "all");
Получите объект Admin из u
и выведите scope. Если тип другой,
выведите "none".