2013-10-25 4 views
1

У меня есть обширный вопрос в отношении логики. Я работаю над проектом, который предполагает научить меня наследованию. У меня есть суперклас с именем bankaccount и расширен с этого класса проверки и сбережения. Моя программа должна написать массив объекта bankaccount на жесткий диск и прочитать его при запуске программы. Причина, по которой у меня есть массив, заключается в том, что я могу хранить до трех учетных записей проверки и сбережений, которые идентифицируются идентификатором, который запрашивается у пользователя. Мой вопрос: если у меня есть поле id и поле баланса в каждом классе проверки/сбережения. Как определить, какая из этих идентификаторов находится по ссылке на массив. И если этот вопрос не имеет смысла, я извиняюсь. Я новичок.Идентификация массивов

ответ

2

Предположим, что у вас есть массив BankAccount. Если вы хотите найти BankAccount для определенного идентификатора, вы должны перебирать массив с циклом for, а внутри цикла вы должны проверить, соответствует ли id BankAccount в этом индексе нужный идентификатор. Например, предположим, массив называется bankAccounts, то вы могли бы цикл через него ...

for (int i = 0; i < bankAccounts.length; i++) { 
    if (bankAccounts[i].getId() == desiredId) { 
    // do something with this BankAccount 
    } 
} 

Edit
Вы заявляете в комментарии:

Im извините новое к этому наследству вещь. Если идентификатор хранится при проверке, будут ли банковские счета [i] .getid() получить идентификатор, хранящийся при проверке?

Это красота наследования. Поскольку CheckingAccount является дочерним элементом класса BankAccount, он получает все общедоступные методы BankAccount, включая его метод getid(). Поэтому, если BankAccount использует это как общедоступный метод, вы можете быть уверены, что все его дети тоже получат этот метод.

+0

Я сожалею об этом новом наследстве. Если идентификатор хранится при проверке, будут ли банковские счета [i] .getid() получить идентификатор, хранящийся при проверке? – user2733862

+0

или я бы сделал что-то вроде bankAccounts [i] .checking.getid()? – user2733862

+1

@ user2733862 В этом случае 'bankAccounts [i]' * будет * экземпляром объекта 'Checking'. Таким образом, 'bankaccounts [i] .getid()' даст идентификатор проверяющей учетной записи. – Zong

Смежные вопросы