Klasy i metody abstrakcyjne, interfejsy-opracowanie

Nasza ocena:

3
Pobrań: 21
Wyświetleń: 497
Komentarze: 0
Notatek.pl

Pobierz ten dokument za darmo

Podgląd dokumentu
Klasy i metody abstrakcyjne, interfejsy-opracowanie - strona 1 Klasy i metody abstrakcyjne, interfejsy-opracowanie - strona 2 Klasy i metody abstrakcyjne, interfejsy-opracowanie - strona 3

Fragment notatki:

Klasy i metody abstrakcyjne, interfejsy. Typy uogólnione.
Klasa abstrakcyjna - klasa która jest zadeklarowana jako abstract .....
Nie wolno tworzyć biektów takiej klasy, ale wolno po niej dziedziczyć.
Klasa abstrakcyjna może ( ale nie musi) zawierać metodyabstrakcyjne.
Metoda abstrakcyjna - metoda bez implementacji ( sam nagłówek). Stosowana gdy chcemy wymusić aby wszystkie podklasy zawierały definicję metody, a nie możemy jej zrealizować w nadklasie. Np. public abstract class Publikacja // klasa abstrakcyjna zawiera metodę dajPunkty, a nie da się // policzyć punktów za publikację jako taką
{ String tytul;
String autor;
int rok; // rok wydania
....
abstract int dajPunkty(); //metoda abstrakcyjna
......
}
public class Ksiazka extends Publikacja
{ String wydawnictwo;
static private int punkty=10;
......
int dajPunkty( )
{return punkty;} //implementacja metody abstrakcyjnej
......
}
public class Artykul extends Publikacja
{ String czasopismo;
static private int punkty =5;
......
int dajPunkty( )
{return punkty;} //implementacja metody abstrakcyjnej
......
}
Klasę czysto abstrakcyjną (zawiera tylko metody abstrakcyjne i ewentualnie pola stałe) nazywamy interfejsem. W przeciwieństwie do klas możliwe jest wielodziedziczenie. public interface Interface extends Interface1,interface2,...,InterfaceN
{ // definicje stałych ( modyfikatory domyślne : public, static, final - można opuścić
// sygnatury metod ( domyślny modyfikator public można opuścić)
}
Można tworzyć zmienne typu interfejsowego, wartością takiej zmiennej może być referencja do obiektu dowolnej klasy implementującej dany interfejs.
public interface Interface {...}
public class Klasa implements Interface { ....}
Klasa obiekt = new Klasa();
Inteface x=obiekt;
Jest to swego rodzaju umowa określająca minimalny zestaw metod który musi realizować każda klasa implementująca interfejs. Każda klasa może implementować dowolną liczbę interfejsów.
class A implements Interfejs1,Interfejs1,.....,IntefejsN


(…)

… to musi być klasą abstrakcyjną.
Typy uogólnione ( typy abstrakcyjne, klasy sparametryzowane, klasy generyczne, szablony klas, wzorce klas itp.).
Chcemy zdefiniować klasę Para umożliwiającą przechowywanie dwóch obiektów dowolnych typów. Można wykorzystać fakt, że wszystkie klasy dziedziczą po klasie Obiekt.
class Para
{ Obiekt pierwszy;
Obiekt Drugi;
Para(Obiekt Pierwszy, Obiekt drugi)
{ this.pierwszy= pierwszy…
... zobacz całą notatkę



Komentarze użytkowników (0)

Zaloguj się, aby dodać komentarz