1 / 9

Marcin Kujawa Michał Łobarzewski

Realizacja ekstensji klasy w oparciu o tablicę statyczną oraz w oparciu o kolekcje. Realizacja metod obiektu, metod klasowych i polimorfizmu metod. Marcin Kujawa Michał Łobarzewski. Plan prezentacji:. Metody obiektowe Metody klasowe Polimorfizm metod Ekstensja na tablicy dedykowanej

akando
Download Presentation

Marcin Kujawa Michał Łobarzewski

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. Realizacja ekstensji klasy w oparciu o tablicę statyczną oraz w oparciu o kolekcje. Realizacja metod obiektu, metod klasowych i polimorfizmu metod. Marcin Kujawa Michał Łobarzewski

  2. Plan prezentacji: • Metody obiektowe • Metody klasowe • Polimorfizm metod • Ekstensja na tablicy dedykowanej • Ekstensja na tablicy ogólnej • Ekstensja na tablicy ogólnej z dziedziczeniem • Ekstensja na wektorze dedykowanym • Ekstensja na wektorze ogólnym • Ekstensja na wektorze ogólnym z dziedziczeniem

  3. Metody Obiektowe Metoda obiektowa jest to metoda, która ma dostęp i zmienia atrybuty konkretnego obiektu. Przykład: \Funkcje statyczne i obiektu\Funkcje.Java

  4. Metody Klasowe (statyczne) Metoda klasowa jest to metoda, która ma dostęp do całej ekstensji klasy, do każdego obiektu. Przykład: \Funkcje statyczne i obiektu\Funkcje.Java

  5. Operacja wywołana za pośrednictwem komunikatu może być różnie wykonana, w zależności od rodzaju obiektu, do którego ten komunikat został wysłany. Wywołujemy przeciążoną metodę na rzecz obiektów klas które dziedziczą po sobie W zależności od tego na rzecz jakiego obiektu ją wywołamy, da ona różny efekt Przykład: \Polimorfizm metod\PolimorfizmMetod.Java Polimorfizm metod

  6. Realizacja ekstensji klasy oparta na tablicach • Tablica musi mieć określony rozmiar podczas kompilacji, sami musimy napisać obsługę dodawania, pobierania, kasowania obiektow. • Klasa reprezentująca tablice stworzoną do przechowywania wszystkich rodzajów obiektow jest dobrym rozwiązaniem z tego względu, że możemy jej użyc wielokrotnie - jako obiektu reprezentującego ekstensje wielu klas. Musimy jedynie pamietac o rzutowaniu przy pobieraniu obiektów.

  7. Realizacja ekstensji klasy oparta na tablicach c.d • Obiekt reprezentujący tablice stworzoną do przechowywania obiektów danego typu nie może być wielokrotnie wykorzystany ale za to nie musimy pamiętać o rzutowaniu - wystarczy, że raz zakodujemy rzutowanie i więcej się nie musimy o to martwić. • Pewnym kompromisem wydaje się być możliwość odziedziczenia po klasie reprezentującej tablice stworzoną do przechowywania wszystkich rodzajów obiektów i zakodowanie w tej klasie jedynie funkcji realizujacej rzutowanie. Przykłady: Ekstensja\Ekstensja na tablicy dedykowanej\... Ekstensja\Ekstensja na tablicy ogólnej\... Ekstensja\Ekstensjna tablicy ogólnej z dziedziczeniem\...

  8. Realizacja ekstensji klasy oparta na vektorach • Wydaje się to być rozwiązaniem wolniejszym ale ma również swoje zalety - nieograniczony rozmiar, nie musimy pisać obslugi dodawania, pobierania i kasowania obiektów • Klasa reprezentujaca vektor stworzony do przechowywania wszystkich rodzajów obiektów jest lepszym rozwiązaniem z tego wzgledu, że podobnie jak w przypadku tablicy, możemy go użyć wielokrotnie - jako obiektu reprezentującego ekstensje wielu klas. Także musimy pamiętać o rzutowaniu przy pobieraniu obiektów.

  9. Realizacja ekstensji klasy oparta na vektorach c.d • Obiekt reprezentujacy vektor stworzony do przechowywania obiektów danego typu nie może być wielokrotnie wykorzystany ale za to nie musimy pamiętać o rzutowaniu - wystarczy, że raz zakodujemy rzutowanie. • Pewnym kompromisem wydaje sie byc możliwosc odziedziczenia po klasie reprezentujacej vektor stworzony do przechowywania wszystkich rodzajów obiektów i zakodowanie w tej klasie jedynie funkcji realizującej rzutowanie Przykłady: Ekstensja\Ekstensja na wektorze dedykowanym\... Ekstensja\Ekstensja na wektorze ogólnym\... Ekstensja\Ekstensjna na wektorze ogólnym i dziedziczenie\...

More Related