Marcin Kujawa Michał Łobarzewski

Slides:



Advertisements
Podobne prezentacje
Projektowanie Aplikacji Komputerowych
Advertisements

C++ wykład 2 ( ) Klasy i obiekty.
C++ wykład 4 ( ) Przeciążanie operatorów.
Związki w UML.
Standardowa biblioteka języka C++
Programowanie obiektowe
Wzorce.
Generics w .NET 2.0 Łukasz Rzeszot.
Implementacja ekstensji klasy
Programowanie obiektowe w Javie
ISOiWUT Internetowy System Oferowania i Wyszukiwania Usług Transportowych.
25/08/ Języki programowania 1 Piotr Górczyński Obiekty i zdarzenia.
Szkolenie dla NaviExpert, Wprowadzenie.
Podstawy informatyki Wirtotechnologia – Wskaźniki i referencje
Zasady zaliczenia Warunki uzyskania zaliczenia:
Wykład 1: Wskaźniki Podstawy programowania Programowanie w C
Wstęp do programowania obiektowego
Projektowanie i programowanie obiektowe II - Wykład IV
Projektowanie i programowanie obiektowe II - Wykład II
Pamięć wspólna Przegląd stosowanych rozwiązań Marcin Kamiński, Michał Kotra Wydział EAIiE Katedra Automatyki Kraków, 2008.
Rozwój aplikacji przy wykorzystaniu ASP.NET
T: Różnice pomiędzy programowaniem strukturalnym a obiektowym
Źródła: podręcznikopracował: A. Jędryczkowski.
Janusz ROŻEJ GENERATORY APLIKACJI Generatory aplikacji Janusz ROŻEJ
Programowanie strukturalne i obiektowe
S.J. Szarża - Serwis WWW Serwis oparty o system CMS.
Programowanie obiektowe – zastosowanie języka Java SE
Programowanie obiektowe III rok EiT
WPROWADZENIE W ŚWIAT OBIEKTÓW
Dziedziczenie Maciek Mięczakowski
Inicjalizacja i sprzątanie
Programowanie obiektowe Wykład 6 dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/14 Dariusz Wardowski.
Języki i środowiska programowania systemów rozproszonych, Wykład 03, Slajd Języki i środowiska programowania systemów rozproszonych Wykładowca:
Projektowanie obiektowe
Projektowanie obiektowe
Warsztaty C# Część 6 Grzegorz Piotrowski Grupa .NET PO
Programowanie obiektowe – język C++
Programowanie obiektowe 2013/2014
ZWIĄZKI MIĘDZY KLASAMI KLASY ABSTRAKCYJNE OGRANICZENIA INTERFEJSY SZABLONY safa Michał Telus.
PWSZ Gniezno // codefly 2009
2 Odizolowanie danych od kodu może prowadzić do przypadkowych zmian danych przez funkcje, które nie są z nimi logicznie związane. Ponadto modyfikacja.
Programowanie w języku C++
UML W V ISUAL S TUDIO Mateusz Lamparski. UML D EFINICJA Unified Modeling Language (UML) to graficzny język do obrazowania, specyfikowania, tworzenia i.
Interakcja człowiek – komputer Podstawy metod obiektowych mgr inż. Marek Malinowski Zakład Matematyki i Fizyki Wydz. BMiP PW Płock.
Model obiektowy bazy danych
Kurs języka C++ – wykład 4 ( )
Modelowanie obiektowe - system zarządzania projektami.
Diagram obiektów Diagram obiektów ukazuje elementy i związki z diagramu klas w ustalonej chwili. Diagram obiektów jest grafem złożonym z wierzchołków i.
PHP Operacje na ciągach znaków Damian Urbańczyk. Zabezpieczanie tekstów Pewne dane muszą być przechowywane w taki sposób, aby nie mogły się do nich dostać.
Projektowanie obiektowe. Przykład: Punktem wyjścia w obiektowym tworzeniu systemu informacyjnego jest zawsze pewien model biznesowy. Przykład: Diagram.
Hibernate Podstawy.
Odwzorowania relacyjno-obiektowe Hibernate Podstawy.
Waldemar Bartyna 1 Programowanie zaawansowane LINQ to XML.
Wzorce Projektowe w JAVA
Programowanie Zaawansowane
Wykład 2 Programowanie obiektowe. Programowanie obiektowe wymaga dobrego zrozumienia działania funkcji definiowanych przez użytkownika, w ten sposób będziemy.
Statyczna kontrola typów w SBQL Rafał Hryniów Polsko-Japońska Wyższa Szkoła Technik Komputerowych, Warszawa
Visual Basic przygotował Michał Miłek Visual Basic – język programowania wysokiego poziomu i narzędzie programistyczne firmy Microsoft. Składnia jest oparta.
InMoST: Innowacyjne metody wytwarzania oprogramowania – II edycja (c) Bartosz Walter Wprowadzenie do obiektowości (1) Plan szkolenia – Część.
Oprogramowanie w eksperymentach fizyki Wykład 3, Paweł Staszel.
Programowanie Obiektowe – Wykład 6
Typy wyliczeniowe, kolekcje
Klasy, pola, obiekty, metody. Modyfikatory dostępu, hermetyzacja
(według:
Programowanie Obiektowe – Wykład 2
Operacje na ciągach znaków
PGO Interfejsy Michail Mokkas.
PGO - Projektowanie i implementacja pierwszych klas
PGO Dziedziczenie Michail Mokkas.
PGO Przeciążanie metod i konstruktorów
Zapis prezentacji:

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 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

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

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

Polimorfizm metod Przykład: \Polimorfizm metod\PolimorfizmMetod.Java 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

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.

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\...

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.

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\...