Структурирование данных JAVA

206
28 ноября 2017, 22:23

Необходимо реализовать программу, в которой будут использоваться все модификаторы доступы - private, default, protected, public на трех уровнях наследования. Также необходимо использовать абстрактный класс.

Я сделал пока так, но понимаю, что это ужасный код. Как сделать его более правильным?

abstract public class Person {
protected String firstName;
protected String lastName;
protected String gender;
private int empId;
public Person(String firstName, String lastName, String gender) {
    this.firstName = firstName;
    this.lastName = lastName;
    this.gender = gender;
}
protected abstract void getInfo();
abstract public String getFirstName();
abstract public String getLastName();
abstract public String getGender();
}

подкласс Person

import interfaces.Salary;
public class Employee extends Person implements Salary {
private int salary;
protected int experience;
public Employee(String firstName, String lastName, String gender, int experience) {
    super(firstName, lastName, gender);
    this.experience = experience;
}
@Override
public void getInfo() {
}
@Override
public String getFirstName() {
    return firstName;
}
@Override
public String getLastName() {
    return lastName;
}
@Override
public String getGender() {
    return gender;
}
@Override
public void setSalary(int salary) {
}
@Override
public int getSalary() {
    return salary;
}
}

подкласс Employee

public class Manager extends Employee {
public int bonus;
public Manager(String firstName, String lastName, String gender, int experience, int bonus) {
    super(firstName, lastName, gender, experience);
    this.bonus = bonus;
}
}

Интерфейс

public interface Salary {
void setSalary(int salary);
int getSalary();
}

Очень сильно торможу из-за нехватки фантазии и опыта разработки

READ ALSO
Потоки.InputStream.Java.Как работать с данными

Потоки.InputStream.Java.Как работать с данными

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

418
Не срабатывает timeout в Completable.fromAction()

Не срабатывает timeout в Completable.fromAction()

Добрый деньСтолкнулся с ошибкой, что при блокирующем ожидании завершения работы Completable, созданного при помощи

232
Разбиение чисел на цифры

Разбиение чисел на цифры

Сосчитать сумму цифр, при этом умножая каждую цифру на её порядковый номер (позицию) в числе, считая слева, начиная с единицыНапример 1567 - получается...

316
Формат вывода числа в Apache POI

Формат вывода числа в Apache POI

У меня есть такие настройки для записи информации в строку

269