MAS 612 2

background image

MAS: Referat 2

Implementacja ekstensji klasy

Autorzy:

Michał Małecki

Michał Walkowski

background image

Klasa

UML: Klasa jest nazwanym opisem

grupy obiektów, które współdzielą

ten sam zbiór własności (inwariantów).

Klasa nie jest zbiorem obiektów, lecz

jest używana do deklarowania

obiektów. Stosunek klasa/podklasa

oznacza, że obiekty podklasy

posiadają wszystkie inwarianty

nadklasy, plus ewentualnie swoje

inwarianty.

background image

Ekstencja klasy

Zestaw aktualnie istniejących wystąpień
(obiektów) danej klasy.

Uniezależnienia deklaracji typów/klas i
odpowiadających im obiektów staje się
aktualny w przypadku obiektowości, której
filozofią jest dekompozycja pojeć oraz
ortogonalna ich kombinacja. Pojecie
ekstensji staje sie semantycznie mało
spójne w przypadku klas abstrakcyjnych.

background image

Ekstencja klasy

realizowana za pomocą

tablicy statycznej

Pierwszą możliwością implementacji

ekstencji klasy w Javie jest tablica
statyczna, w której będą
przechowywane wszystkie
wystąpienia danej klasy.

Szczególną uwage należy zwrócić na

poprawność i aktualność informcji
przechowywanych w tablicy.

background image

Ekstencja klasy

realizowana za pomocą

tablicy statycznej

Przykład kodu:

EkstensjaTablicaStatyczna.java

Działanie:

Ekstensja klasy jako tablica obiektow.

(!) Przepelnienie tablicy dla NaszaKlasa@11a698a
---

Pierwszy
PierwszyKolejnyPiekniejszyNajmadrzejszyZnudzony
Press any key to continue...

background image

Ekstencja klasy

realizowana za pomocą

tablicy statycznej

Podsumowanie.

Zalety:

Prostota implementacji

Szybkość

Wady:

Należy w kodzie podać dokładną

wielkość tablicy co powoduje ograniczą

ilość wystąpień danej klasy

background image

Ekstencja klasy

realizowana za pomocą

tablicy dynamicznej

Następną możliwością jest zastosowanie
tablicy dynamicznej. Wielkość tablicy jest
alokowana dynamicznię więc nie
potrzebne jest podawanie jej wielkości w
kodzie.

background image

Ekstencja klasy

realizowana za pomocą

tablicy dynamicznej

Przykład kodu.

EkstensjaTablicaDynamiczna.java

Działanie:

Ekstensja klasy jako tablica obiektow alokowana

dynamicznie.

(!) Powiekszenie tablicy.
---

Pierwszy
PierwszyKolejnyPiekniejszyNajmadrzejszyZnudzonyTen ktory

mial sie nie zmiescic w

ekstensji
Press any key to continue...

background image

Ekstencja klasy

realizowana za pomocą

tablicy dynamicznej

Podsumowanie.

Zalety:

Możliwość nieograniczonej przez

programiste ilości wystąpień klasy

Prosta idea i implementacja

Wady:

Powolność działania wynikająca z

potrzeby przepisywania elementów

tablicy przy operacjach wykonywanych

na tej tablicy

background image

Ekstencja klasy

realizowana za pomocą

kolekcji

Kolekcje służą do przechowywania
danych w sposób sformalizowany.
Najpopularniejsze przykłady to listy,
drzewa, stosy.

Klasy obsługujące kolekcje posiadają
metody wygodnej modyfikacji ich
zawartości.

background image

Ekstencja klasy

realizowana za pomocą

kolekcji

Klasy realizujacych funkcje kolekcji w Javie:

HashSet

TreeSet

ArrayList

LinkedList

HashMap

TreeMap

WeakHashMap

HashTable

Vector

Stack

background image

Ekstencja klasy

realizowana za pomocą

kolekcji

Przykładowe operacje na kolekcjach:

Dodawanie

Usuwanie

Przeglądanie

background image

Ekstencja klasy

realizowana za pomocą

kolekcji

Przykład kodu:

EkstensjaKolekcje.java

Działanie:

Ekstensja klasy jako kolekcja.

---

Pierwszy
PierwszyKolejnyPiekniejszyNajmadrzejszyZnudzonyTen

ktory kiedys sie nie miescil

Press any key to continue...

background image

Ekstencja klasy

realizowana za pomocą

kolekcji

Podsumowanie.

Zalety:

Szybkie działanie

Wykorzystanie już napisanego kodu
obsługującego kolekcje

Wady:

Bardziej skomplikowana implementacja
(jeżeli nie korzystamy z gotowych
komponentów)

background image

Ekstensja klasy

realizowana za pomocą

klasy pomocniczej.

Ekstensja jest realizowana za pomocą
dodatkowej klasy, pełniącej role
kontenera. Dla której dodatkowo
zaimplementowane zostały wszystkie
operacje potrzebne do zarządzania
przetrzymywanymi w niej obiektami.

background image

Ekstensja klasy

realizowana za pomocą

klasy pomocniczej.

Przykład kodu:

EkstensjaKlasaPomocnicza.java

Działanie

Ekstensja z klasa pomocnicza.

Zarzadca gotowy.

---

Pierwszy
PierwszyKolejnyPiekniejszyNajmadrzejszyZnudzonyDodawany

nietypowo

Press any key to continue...

background image

Ekstensja klasy

realizowana za pomocą

klasy pomocniczej.

Podsumowanie

Wady

Najwięcej do implementacji

Zalety

Najbardziej elastyczne w wykorzystaniu


Document Outline


Wyszukiwarka

Podobne podstrony:
Brymora Kaczyński Logistyka wytwórni mas bitumicznych ppt
Spektrometria mas NMAZ
oznaczanie mas molowych
7 Wykl 7 str 4 tab 1 N 5 id 612 Nieznany (2)
14 06 Wytwornie mas bitumicznych i betoniarnie
MAS wszystkie pytania testowe 2007
,Analiza chemicznych zanieczyszczeń środowiska , Zasada powstawania widma mas
pogarda mas IV
Bunt mas
Ch18 pg593 612
PrzeglÄ…d mas plastycznych, ortografia dla dzieci
spoleczenstwo mas - Mills, Studia (europeistyka), nauka o polityce, Teoria polityki, ćwiczenia 14
MAS e przyklad roz id 281198 Nieznany
prawo dzialania mas
La costa mas lejana
Ruchy grawitacyjne mas skalnych geografia
Ruchami gwiazd w?ntrum naszej Galaktyki rządzi czarna dziura o masie ponad 2 mln mas Słońca (2)

więcej podobnych podstron