Objektorienteeritud JAVA 2.kontrolltöö konspekt
süsteemis
Miks vähendada sõltuvust?
Komponentide taaskasutus
Muutmisel on loogika ühes kohas
Kuidas sõltuvuse ära tunnete?
o Üks klass teab liiga palju teisest
Register register = new StudentRegister();
int numOfStudents = register.numOfStudents; Kõige lihtsam juhtum: kasutab teise välju.
Lahendus: eraldi meetod > int numOfStudents = register.getNumOfStudents();
Card c = new DebitCard();
if (c.hasFunds()) {
if (c.notBlocked()) {
if (c.onlinePaymentsAllowed()){
c.makePayment(amount);}}} Teab teise klassi detaile – kas on ikka vaja?
Lahendus: intiimsuse vähendamine Card c = new DebitCard();
if (!c.makePayment(amount)) { // do something if payment fails } Kontrolli õnnestumist...
try { c.makePayment(amount)
} catch (PaymentException e) {
// do something if payment fails } .. või kasuta erindeid Detailid jäävad DebitCard klassi