У меня есть один класс Bicycle, который является родительским. Я хочу иметь два подкласса для переднего колеса и заднего колеса. Есть ли способ создать только один экземпляр суперкласса, а затем создать два отдельных экземпляра подкласс, которые делят только один экземпляр суперкласса. В основном велосипед - один, но колеса - два, и поэтому общие переменные велосипеда должны создаваться только один раз. Я хотел бы пойти на отношения IS-A, чтобы я мог повторно использовать множество переменных и методов. Также я не могу использовать статику здесь, потому что каждый велосипед - это другой экземпляр.Два подкласса Совместное использование только одного экземпляра переменной суперкласса
Ex:
class Bicycle {
String name;
int year;
double price;
}
class FrontWheel extends bicycle {
double wheelSize;
}
class BackWheel extends bicycle {
double wheelSize;
}
В основной программе, если я создаю экземпляры FrontWheel и BackWheel, очевидно, два набора общих переменных (год, название и т.д.) становятся созданы правильно. Во всяком случае, чтобы избежать дублирования распределения памяти для общих переменных? Любые другие варианты, доступные в Java?
Зачем колесо удлиняет велосипед? Это как сказать, что нога расширяет человека, это просто неправда. – Kayaman
Вы должны использовать * has-a * отношения. * состав/агрегация *, ваш основной дизайн неправильный. – TheLostMind