Предположим, у меня есть класс Account,Должен ли я использовать InstanceOf в этом сценарии или мне нужно использовать полиморфизм
public class Account {
void Print();
}
и я вывел два подкласса из него т.е. SavingsAccount и CheckingAccount.
public class SavingsAccount extends Account{
void Print();
}
public class CheckingAccount extends Account{
void Print();
}
Теперь предположим, что у меня есть класс драйвера позволяет говорить SimulateAccounts, который имеет список массив типа счета,
public class SimulateAccounts{
ArrayList<Node> myAccounts = new ArrayList<Node>();
void simulate()
{ //suppose some function has added added 5 savingAccounts and 10 checkingsAccounts in myAccounts arraylist
}
Теперь мой вопрос заключается в том, что я хочу, чтобы найти значение счетчика savingAccounts типа и checkingAccounts в arraylist myAccounts в вышеприведенной функции имитации, я могу сделать это, используя функцию instanceof. Но я смущен, используя его, поскольку я читал на многих местах, где использование instanceof - это плохая практика и запах кода, поэтому как я могу вместить в него полиморфизм, чтобы избежать использования instanceof или это нормально использовать. Более того, если я использую экземпляр и в будущем имя changeAccount изменений, я должен также обновить мой этот код в функции моделирования! Так что я должен делать здесь. Thanks
Использование ключевого слова 'extends' четко указывает на то, что Java – ortis
видит свой тег« Java ». –
См. Историю изменений. –