Enkapsulowanie Kolekcji - metoda Refaktoryzacji
Opis
Metoda tą nadajemy na klasę, która oferuje ustawienie oraz pobranie kolekcji przez get i set. Dokonujemy zamiany jej metody na właściwość tylko do odczytu (get()) i dodajemy nowe add() i remove() metody dla pojedynczego elementu.
Operację refaktoryzacji możemy nadawać dla różnego typu struktur danych, np: Array lub ArrayList .
Przykład
Listing 1.0 pokazuje metodę przed refaktoryzacją.
Listing 2.0 ukazuje metodę/funkcję po refaktoryzacji.
Listing
//listing 1.0
class Klient
public Set getKursy() {
return _kursy;
}
public void setKursy(Set arg) {
_kursy = arg;
}
//listing 2.0
class Klient
public Set getKursy() {
return _kursy;
}
public void addKurs (Kurs arg) {
_kursy.add(arg);
}
public void removeKurs (Kurs arg) {
_kursy.remove(arg);
}
class Klient
public Set getKursy() {
return _kursy;
}
public void setKursy(Set arg) {
_kursy = arg;
}
//listing 2.0
class Klient
public Set getKursy() {
return _kursy;
}
public void addKurs (Kurs arg) {
_kursy.add(arg);
}
public void removeKurs (Kurs arg) {
_kursy.remove(arg);
}
Ten wpis posiada swój wątek na forum
Wszystkie pytania prosimy kierować właśnie tam ponieważ komentarze to miejsce na poprawki do kodu lub alternatywne rozwiązania i pytania nie będą publikowane
http://forum.funkcje.net/forum/viewtopic.php?f=5&t=11905
Dane do logowania na forum są takie same jak na funkcje.net
Wszystkie pytania prosimy kierować właśnie tam ponieważ komentarze to miejsce na poprawki do kodu lub alternatywne rozwiązania i pytania nie będą publikowane
http://forum.funkcje.net/forum/viewtopic.php?f=5&t=11905
Dane do logowania na forum są takie same jak na funkcje.net
Dodano przez: divix
Ranga: Administrator serwisu Punktów: 38373
Ranga: Administrator serwisu Punktów: 38373
Komentarze użytkowników
:: Losowe artykuły

:: Wymiana linków

Modowe inspiracje |
Android Gry i Aplikacje |
ZaplanujTransport.pl: Przeprowadzki, transport, aukcje |
Logo dla firmy |
Change Tires - Car Weather Forecast Reminder |
Zend Framework 3. Developer's Guide |
IT Books Reviews and Programming: JS, JAVA, PHP, ANDROID, CSS |
Katalog roślin |
Programming articles of: JAVA, PHP, C++, Pyth, JavaScript and so on..