Loading:

Ferie zimowe - 3 za 2

Zamiana Warunku na Polimorfizm - metoda Refaktoryzacji

Opis

Wykonujemy tą metodę, gdy mamy warunek logiczny, który wybiera inne zachowania, zależne od danego typu obiektu.

Implementujemy podaną operację po przez przeniesienie każdej opcji z warunku logicznego, aby nadpisywał on metodę w podklasie. Oraz oryginalna klasa robi się abstrakcyja.
 
Przykład

Przed refkatoryzacją:

 

  double getSpeed() {
    switch (_type) {
      case EUROPEAN:
        return getBaseSpeed();
      case AFRICAN:
        return getBaseSpeed() - getLoadFactor() * _numberOfCoconuts;
      case NORWEGIAN_BLUE:
        return (_isNailed) ? 0 : getBaseSpeed(_voltage);
    }
    throw new RuntimeException ("Should be unreachable");
  }

 

Po refkatoryzacji:


diagram refaktoryzacji



Napisz Artykuł

Listing

niema


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=12214

Dane do logowania na forum są takie same jak na funkcje.net



Dodano przez: divix
Ranga: Administrator serwisu Punktów: 38319
Komentarze użytkowników
    • Treść komentarza
      Kod do komentarza (opcjonalnie)
      PHP JavaScript MySQL Smarty SQL HTML CSS ActionScript
      Autor
      Token
      token

       

       








funkcje.net
Wszelkie prawa zastrzeżone©. | Funkcje.net 2008-17 v.1.5 | design: diviXdesign & rainbowcolors