Hierarchia klas, dziedziczenie, polimorfizm-opracowanie

Nasza ocena:

3
Pobrań: 42
Wyświetleń: 511
Komentarze: 0
Notatek.pl

Pobierz ten dokument za darmo

Podgląd dokumentu
Hierarchia klas, dziedziczenie, polimorfizm-opracowanie - strona 1 Hierarchia klas, dziedziczenie, polimorfizm-opracowanie - strona 2 Hierarchia klas, dziedziczenie, polimorfizm-opracowanie - strona 3

Fragment notatki:

Hierarchia klas. Dziedziczenie. Polimorfizm.
public class Ksiazka
{ String tytul;
String autor;
int rok; // rok wydania
String wydawnictwo;
Public Ksiazka( String tytul, String autor, int rok, String wydawnictwo)
{this.tytul= new String(tytul); // żeby utworzyć kopię napisu
.......}
String dajTytul( ) {...}
......
String toString( )
{return "Tytul : "+tytul+" autor : "+autor+" rok wydania : "+rok +" wydawnictwo : "+wydawnictwo; }
......
}
public class Artykul
{ String tytul;
String autor;
int rok; // rok wydania
String czasopismo;
Public Artykul( String tytul, String autor, int rok, String czasopismo)
{this.tytul= new String(tytul); .......}
String dajTytul( ) {...}
......
String toString( )
{return "Tytul : "+tytul+" autor : "+autor+" rok wydania : "+rok +" w czasopismie : : "+czasopismo ; }
......
}
Widać wyraźnie powtórzenia zarówno pól jak i metod. Lepsze rozwiązanie wykorzystujące dziedziczenie.
public class Publikacja
{ String tytul;
String autor;
int rok; // rok wydania
Public Publikacja( String tytul, String autor, int rok)
{this.tytul= new String(tytul); .......}
String dajTytul( ) {...}
......
String toString( )
{return "Tytul : "+tytul+" autor : "+autor+" rok wydania : "+rok ; }
......
}
public class Ksiazka extends Publikacja
{ String wydawnictwo;
Public Ksiazka( String tytul, String autor, int rok, String wydawnictwo)
{ super(tytul,autor,rok); // wywołanie konstruktora nadklasy this.wydawnictwo= new String(wydawnictwo);}
......
String toString( )
{return (super.toString())+ // dostęp do przesłoniętej metody z nadklasy
" wydawnictwo : "+wydawnictwo; }
......
}
public class Artykul extends Publikacja
{ String czasopismo;
Public Artykul( String tytul, String autor, int rok, String czasopismo)
{super(tytul,autor,rok);
this.czasopismo= new String(czasopismo);}
......
String toString( )
{return (super.toString())+" w czasopismie : : "+czasopismo ; }
......
}
... zobacz całą notatkę



Komentarze użytkowników (0)

Zaloguj się, aby dodać komentarz