1 / 14

Referat 2 Ekstensja klasy

Referat 2 Ekstensja klasy. Referat przygotowali: Michał Pasierb Konrad Radzik. Plan prezentacji. Implementacja ekstensji klasy przy użyciu : Tablic statycznych Kolekcji Implementacja ekstensji: W ramach klasy Przy użyciu klasy zewnętrznej. Ekstensja klasy (class extent) (1).

Télécharger la présentation

Referat 2 Ekstensja klasy

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Referat 2 Ekstensja klasy Referat przygotowali: Michał Pasierb Konrad Radzik

  2. Plan prezentacji Implementacja ekstensji klasy przy użyciu: • Tablic statycznych • Kolekcji Implementacja ekstensji: • W ramach klasy • Przy użyciu klasy zewnętrznej

  3. Ekstensja klasy (class extent) (1) Jest to aktualny (zmienny w czasie) zestaw wszystkich wystąpień tej klasy. Ekstensja klasy w implementacji oznacza specjalną strukturę danych. Ta struktura stanowi skład obiektów, przechowując wszystkie obiekty będące członkami danej klasy.

  4. Wystąpienie klasy • Pojęcie wystąpienie klasy (instancja klasy) oznacza obiekt, który jest “podłączony” do danej klasy, jest jej członkiem. • Wystąpienia mogą być: bezpośrednie i pośrednie. • Obiekt jest wystąpieniem bezpośrednim swojej klasy i wystąpieniem pośrednim wszystkich jej nadklas.

  5. Ekstensja klasy (2) • jest to zbiór wszystkich wystąpień danej klasy (bezpośrednich i pośrednich), ale obcięty do atrybutów wyspecyfikowanych w tej klasie, Opis diagramu: K1 {abstract} EK1 = {O2, O3, O4}, EK2 = {O2}, EK3 = {O3} EK4 = {O4} K2 K3 K4 O4 O2 O3

  6. Zastosowanie tablic statycznych do implementacji Tablica statyczna to taka, której rozmiar jest ustalany w momencie kompilacji programu. Zalety : • Pozwala na szybki i wydajny dostęp do dowolnego elementu tablicy(swobodny).

  7. Wady tablic statycznych • podczas wykonywania programu rozmiar się nie zmienia • można przechowywać dane tylko jednego typu • trudniejszy niż w kolekcjach sposób wyświetlania konkretnego elementu • nie ma zaimplementowanych użytecznych metod obsługi tablic

  8. Zastosowanie kolekcji W kolekcjach można umieszczać obiekty o dowolnych typach. Ze względu na sposób implementacji można spośród nich wyodrębnić kilka rodzajów kolekcji. Są bardziej zaawansowanymi strukturami niż tablice, posiadają własne metody, które ułatwiają wykonywanie na nich operacji (np. dodawanie, usuwanie, przeglądanie, itp.)

  9. Przykłady kolekcji • Wektor (Vector) • Struktura danych wykorzystująca tablice alokowane dynamicznie • Optymalne wstawianie i usuwanie ostatniego elementu • Lista (LinkedList) • Brak dostępu swobodnego • Bardzo wolne przechodzenie przez cale kolekcje • Tablica haszujaca (Hashtable) • Bardzo szybkie wyszukiwanie • Brak kolejności elementów (dostęp do elementów za pomocą kluczy)

  10. Iterator Iterator służy do przemieszczania się po elementach kolekcji i wybierania kolejnych obiektów. Pozwala też na usuwania elementów. Jest wygodny w użyciu ponieważ, niepotrzebna jest znajomość specyfiki używanej kolekcji (metod, sposobu indeksowania, itp.).

  11. Implementacja ekstensji w ramach klasy Zalety i wady: • Łatwość implementacji • Dostęp do ekstensji z każdego obiektu tej klasy (modyfikator dostęp do ekstensji) Przykłady: Tablica statyczna Kolekcja

  12. Implementacja ekstensji przy użyciu klasy zewnętrznej • przeniesienie logiki implementacji ekstensji do innej dedykowanej klasy (uproszczenie klasy przechowywanej) Przykłady: Tablica statyczna Kolekcja

  13. Fabryka klas Fabryka klas służy do tworzenia nowych wystąpień klasy i przechowania do nich asocjacji. Fabryka klas może działać z każdą klasą.

  14. Przykład Object Factory Język Java – klasa BorderFactory. Służy do tworzenia standardowych obiektów implementujących interfejs Border (wyjaśnienie: Border w gui jest to ramka). Korzyści: kiedy jest to możliwe BorderFactory zwraca obiekty dzielone.

More Related