Documente Academic
Documente Profesional
Documente Cultură
Answers Lab 2
Answers Lab 2
EXERCIȚIUL 1
Răspunde:
Nu, rata dobânzii se poate modifica în funcție de contul de economii.
Răspunde:
EconomiiCont: sold $115.0, rata dobânzii 0.15
EXERCIȚIUL 2
Răspunde:
Următoarele demonstrează suprasolicitarea:
1) depozit()
2) retragere()
3) toString()
Răspunde:
Da, CheckingAccount extinde BankAccount, deci este legal ca o variabilă BankAccount să facă referire la un
obiect CheckingAccount.
Răspunde:
Nu, nu este legal ca o variabilă a unei clase copil să facă referire la obiectul unei clase părinte.
6. Pe ce variabile bacc1, chacc1, sacc1 a fost valabilă invocarea metodei deductFees()? Explica.
Răspunde:
Valabil numai pentru chacc1, deoarece CheckingAccount este singura clasă care are metoda publică void
deductFees().
7. Ce erori de compilare ar putea fi remediate prin casting? Care dintre ele nu a putut fi remediată? De ce?
Răspunde:
bacc1 ar putea fi distribuit ca CheckingAccount pentru a remedia eroarea de compilare. Acest lucru se datorează
faptului că CheckingAccount se extinde de la BankAcount și bacc1 este o variabilă a clasei părinte.
8. Programul rulează după ștergerea liniei care provoacă eroarea de compilare? Dacă programul s-a prăbușit,
de ce s-a prăbușit?
Răspunde:
Programul se blochează din cauza tipurilor incompatibile: SavingsAccount nu poate fi convertit în
CheckingAccount.
Răspunde:
Eroarea a fost: "clasa BankAccount nu poate fi aruncată în clasa CheckingAccount (BankAccount și
CheckingAccount sunt în modulul fără nume al încărcătorului 'app') la TestBankAccounts.main"
Răspunde:
De două ori?
EXERCIȚIUL 3
Răspunde:
Metodele getter la care se face referire nu există în BankAccount.java.
Răspunde:
Nu, atât metodele SavingsAccount.java cât și CheckingAccount.java trebuie săString().
Nu există nicio modalitate de a discerne care dintre ele este apelat de la BankMachine.