Абстрактные классы и композиция Java

166
10 сентября 2018, 15:20

Можно ли использовать композицию, когда оба класса абстрактные? Например, у меня есть абстрактный класс Тело (от него я буду создавать конусы, пирамиды и т.д.) И есть Абстрактный класс Основание (то есть в основании конуса - круг, в основании пирамиды - многоугольник).

Как мне добавить класс основание в тело при помощи композиции. Я знаю, что создавать объекты абстрактного класса нельзя. Если есть способ, опишите пожалуйста. Если нет, объясните почему.

Answer 1
public abstract class Body {
    protected Base base;
    public void setBase(Base base) {
        this.base = base;
    }
    public Base getBase() {
        return base;
    }
}

Примерный вариант для класса Тело. Наследуя его ваша фигура может получить основание. Как вариант можно еще сделать основание default или protected, в зависимости от потребностей.

READ ALSO
Побитовая операция

Побитовая операция

Что происходит в данной строке?

192
Joda-Time. Корректна такая реализация?

Joda-Time. Корректна такая реализация?

Нужно на выходе получить такую строку 2018-05-08T10:41:00000+07:00

173
Поведение оператора switch в java

Поведение оператора switch в java

Почему меняется поведение оператора switch при различных способах инициализации управляющей переменной?

188