Java
obiektowy język programowania
Obiektowa struktura języka Java, zapewniająca wysokie bezpieczeństwo
ułatwiająca wykorzystanie wcześniej już stworzonych modułów oraz współpracę
między programistami, odpowiada współczesnym zapotrzebowaniom. Systemy
budowane dzisiaj różnią sie od budowanych 10 czy 20 lat temu. Sa pod każdym
względem większe i bardziej złożone, ale też bardziej niepewne i poddawane
ustawicznym zmianom. Obiektowe podejście do analizy i projektowania prowadzi
do bardziej stabilnych systemów. Ponadto dzisiejsze interakcyjne systemy o
dostępie bezpośrednim poświęcają o wiele więcej uwagi interfejsowi użytkownika,
niż zorientowane tekstowo systemy wsadowe lat 60 i 70-tych. Podejście obiektowe
do takich systemów jest bardziej naturalmym sposobem postępowania z systemami
zorientowanymi na użytkownika.
1. Klasa i obiekt
Klasa - opis obiektu lub obiektów z jednolitym zbiorem atrybutów i usług,
zawierający opis tworzenia nowych obiektów w klasie.
Obiekt - egzemplarz danej klasy, zawiera watrości atrybutów i wyłacznie na nich
działające usługi.
deklaracja klasy w Java:
class nazwa_klasy extends nazwa_klasy_przodka
implements nazwa_interfejsu
{
deklaracje atrybutów;
deklaracje funkci;
konstruktor klasy
}
Konstruktor w Java ma tę samą nazwę co i nzwa klasy, jest to metoda wywoływana
w czasie kreacji egzemplarza danej klasy, inicjalizowane są pola obiektu.
Tworzenie nowego obiektu danej klasy odbywa się przez użycie kluczowego słowo
new do wywołania konstruktora danej klasy.
np.:
Figura f;
f = new Figura(); //jeżeli konstruktor jest bezargumentowy
Lotnisko A;
A = new Lotnisko("Rembiechowo"); //konstruktor z argumentem
lub w skrócie:
Lotnisko A = new Lotnisko("Rembiechowo");
2. Polimorfizm
Funkcje polimorficzne to funkcje nie zwracające uwagi
na to, jakiego typu zmienne są wykorzystywane przez nie.
W Javie upraszczanie programów przy wykorzystaniu funkcji
polimorficznych możliwe jest na trzy sposoby:
dziedziczenie - podklasy automatycznie dziedziczą metody
klas nadrzędnych; ponadto każda funkcja, której argumentem
może być klasa, zaakceptuje jako argument również każdą podklsę
tej klasy;
przeciążnie - możliwe jest użycie w obrębie tej samej klasy
metod o identycznych nazwach, ale różniących się typami przyjmowanych
argumentów;
interfejs - wykorzystywanie w różnych klasach metod o identycznych
nazwach, przyjmujących argumenty tego samego typu, przydatny ze względu
na brak wielodziedziczenia w Java
3. Modyfikatory dostęności
W Javie istnieją różne poziomy dostępności klas i ich elementów dla innych klas.
Standardowo, zdefiniowana klasa oraz jej metody i zmienne są dostępne wyłącznie
dla innych klas w tym samym pakiecie. W przypadku prostych apletów oznacza to,
że dostęp do klasy mają wyłacznie inne klasy znajdujące się w tym samym katalogu.
public - klasa z tym modyfikatorem jest dostępna dla każdej innej klasy.
kiedy procesor VM otrzymuje polecenie uruchomienia nowego apletu, klasa tego apletu
musi być publiczna. Ale już inne klasy, do których dostęp musi mieć uruchamiany
aplet, nie muszą być publiczne.
Metody i zmienne elementarne klas publicznych, które zostaną same zadeklarowane
jako publiczne, będą dostępne dla innych klas.
private - modyfikator, który ogranicza dostęp do elementów klasy tak, aby
żadne inne klasy nie miały bezpośredniego dostępu do metod i zmiennych elementarnych
tej klasy.
protected - w ten sposób deklarowane są elementy chronione, dostępne dla
wybranych podklas w innych pakietach, deklarowanie metod jako chronionych pozwala na
ich używanie w ich własnych klasach, a także w podklasach tych klas.
private protected - modyfikator ten zachowuje się podobnie jak protected,
ale elementy zadeklarowane w ten sposób nie są dostępne dla innych klas nie będących
podklasami, bez względu na to, czy znajdują się one w tym samym pakiecie.
4. Przykład
Kod apletu.