/ / Лиття (?) Відомого об'єкта надкласового класу на невідому посилання на підклас - java, клас, кастинг, підклас, надклас

Кастинг (?) Відомого надкласового об'єкта до невідомого підкласу - java, class, casting, subclass, superclass

Привіт колеги-програмісти,

Я зараз працюю над проектом Java, і я намагаюся передати відомий суперклас до невідомого підкласу.

Ось код:

public void getShirtType(Person person) {

Clothing article; // Clothing is a superclass of different subclasses of Clothing

for(Clothing clothing : person.getClothing()) { // person.getClothing() returns List<Clothing>

if(clothing.hasSleeves()) { // hasSleeves() is boolean

article = ???;
break;

}

}
}

Цей код отримує перший екземпляр виробу Одяг з рукавами, а потім закінчує петлю.

Я не знаю, що поставити в місці знаків запитання. Зазвичай, я міг просто щось подібне article = (SleevedShirt) clothing;, окрім SleevedShirt є різні різні підкласи, які можуть входити до дужок.

Дайте мені знати, що ви думаєте.

Крім того, я, в основному, початківець, тому я б не заперечував конструктивного критика, пов'язаного з моїм кодом, якби ви хотіли його запропонувати.

Відповіді:

0 для відповіді № 1

Не потрібно в ролях для (SleevedShirt) як

article = clothing;

повинно бути достатньо.