Mapowanie dziedziczenia z UML do Java

Slides:



Advertisements
Podobne prezentacje
Związki w UML.
Advertisements

Klasy abstrakcyjne i interfejsy
Mgr inż.Marcin Borkowski Podstawy Java Część II
Programowanie obiektowe
Projektowanie systemów informacyjnych
Static, const, volatile.
Sposoby implementacji asocjacji
Sposoby obejścia dziedziczenia
Dziedziczenie wieloaspektowe
Implementacja ekstensji klasy
Tomasz Pieciukiewicz Rafał Hryniów
Implementacja asocjacji
Programowanie Obiektowe w Javie (c.d.)
Nguyen Hung Son Uniwersytet Warszawski
Programowanie obiektowe w Javie
Podstawy języka Java Nguyen Hung Son Uniwersytet Warszawski.
Wielodziedziczenie od środka Konrad Lipiński
OOPC++ - wstêp, klasy1 Klasy Do struktury można dołączyć operacje działające na jej polach. struct date { int day, month, year; void set (int d, int m,
ODE Zapytania. Pętla for (1) Do obiektów będących instancjami klas możemy uzyskać dostęp za pomocą pętli for Zakres tej pętli to wszystkie obiekty klasy.
Programowanie sieciowe w Javie
Mapowanie różnych typów dziedziczenia do Javy
Zasady zaliczenia Warunki uzyskania zaliczenia:
Czytanie, pisanie i rysowanie (czyli klasa I szkoły podstawowej)
Tablice tablica jest sekwencją elementów tego samego typu (prostego lub obiektowego) w Javie tablice są obiektami, a zmienne tablicowe przechowują referencję
Język Java Wielowątkowość.
Projektowanie warstwy serwera Programowanie aspektowe.
Projektowanie - klasy i związki
Techniki i języki programowania
Nadstruktura języka UML w wersji 2.2
Pakiety w Javie Łukasz Smyczyński (132834). Czym są pakiety? Klasy w Javie są grupowane w pewne zbiory zwane pakietami. Pakiety są więc pewnym podzbiorem.
Java 3 MPDI Programowanie obiektowe W7. import java.io.*; public class X { // kontrukcja throws – określenie jakie wyjątki może dana metoda // sygnalizować
Podstawy programowania II
Tworzenie aplikacji mobilnych
JAVA c.d.. Instrukcji wyboru SWITCH używamy, jeśli chcemy w zależności od wartości pewnego wyrażenia wykonać jeden z kilku fragmentów kodu. Jest to w.
Java – coś na temat Klas Piotr Rosik
Inicjalizacja i sprzątanie
Seminarium problemowe
INTERFEJSY I KLASY WEWNĘTRZNE
Programowanie obiektowe Wykład 7 dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/20 Dariusz Wardowski.
Programowanie obiektowe – język C++
Notacja w UML Klasy.
Programowanie obiektowe 2013/2014
ZWIĄZKI MIĘDZY KLASAMI KLASY ABSTRAKCYJNE OGRANICZENIA INTERFEJSY SZABLONY safa Michał Telus.
  ELEMENTY JĘZYKA JAVA komentarze w Javie, słowa kluczowe i operatory, proste typy danych, tablice, podstawowy zestaw instrukcji.
OCPJP Inner classes.
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Diagram klas Kluczowymi elementami są: klasy (class)
Diagram klas Diagramy klas służą do obrazowania statycznych aspektów projektowanych systemów jako: Projekt struktury logicznej baz danych Projekt składników.
E. Stemposz, Analiza i Projektowanie Systemów Informatycznych, Wykład 8, Slajd 1 Projektowanie systemów informacyjnych Ewa Stemposz, Kazimierz Subieta.
Hibernate Podstawy.
Obiektowe metody projektowania systemów Adapter. Wstęp: „Dostosowanie interfejsu klasy do interfejsu, którego oczekuje użytkownik. Adapter umożliwia współprace.
Odwzorowania relacyjno-obiektowe Hibernate Podstawy.
Paweł Starzyk Obiektowe metody projektowania systemów
Wykład 8 Polimorfizm 1.Funkcje polimorficzne 2.Czyste funkcje wirtualne i klasy abstrakcyjne PO8-1 / 38.
Statyczna kontrola typów w SBQL Rafał Hryniów Polsko-Japońska Wyższa Szkoła Technik Komputerowych, Warszawa
E. Stemposz. UML i Analiza Obiektowa, Wykład 3, Slajd 1/18 Wykład 3 Model obiektowy (1) dr inż. Ewa Stemposz
Typy i metody sparametryzowane (generics) (c) Krzysztof Barteczko 2014.
Asocjacja,Kompozycja,Agregacja
Implementacja asocjacji (z atrybutami i bez) przy użyciu: referencji (kolekcji referencji) tablic asocjacyjnych przygotował: Kamil Kowalczyk.
Projektowanie systemów informacyjnych
Programowanie Obiektowe – Wykład 6
(według:
Projektowanie systemów informacyjnych
(c) Krzysztof Barteczko 2014
MAS – Referat 1 Mapowanie różnych typów dziedziczenia z UML do Javy
PGO Interfejsy Michail Mokkas.
Inheritance mapping from UML to C#.
PGO Dziedziczenie Michail Mokkas.
Tworzenie wątków w Javie
Zapis prezentacji:

Mapowanie dziedziczenia z UML do Java Piotr Kurek Kuba Siatkowski Kurek/Siatkowski

Poruszane problemy Disjoint Overlapping Complete Incomplete Multi-Inheritance Multi-Aspect Dynamic Kurek/Siatkowski

Disjoint a overlapping Różnica polega na rozłączności zbiorów Overlapping Zbiory nie są rozłączne Disjoint Przynależność do jednego zbioru wyklucza przynależność do innego Kurek/Siatkowski

Przykłady Overlapping Kurek/Siatkowski

Przykłady Disjoint Kurek/Siatkowski

Complete a incomplete Różnica polega na kompletności odwzorowania obiektów klasy nadrzędnej przez klasy podrzędne Complete Wszystkie obiekty są odwzorowane w klasach podrzędnych Klasa nadrzędna jest abstrakcyjna Incomplete Nie wszystkie obiekty są odwzorowane w klasach podrzędnych Kurek/Siatkowski

Prawdziwe życie Complete Kurek/Siatkowski

Prawdziwe życie Incomplete Kurek/Siatkowski

Dziedziczenie wieloaspektowe Specjalizacja następuje po kilku aspektach Kurek/Siatkowski

Dziedziczenie wielokrotne Dziedziczenie z kilku klas jednocześnie Jako takie w Java nie istnieje !!! ;-p Kurek/Siatkowski

Dziedziczenie dynamiczne Student może zmieniać stan, co może być modelowane przez dziedziczenie dynamiczne Kurek/Siatkowski

Implementacje Kurek/Siatkowski

Disjoint Jest domyślnym sposobem dziedziczenia w Java Kurek/Siatkowski

Overlapping Wymaga wprowadzenia nowej klasy mającej atrybuty klas, które łączy. { overlapping } Kurek/Siatkowski

Overlapping class Sportowiec{ } class Biegacz extends Sportowiec{ class Skoczek extends Sportowiec{ class KombinatorNorweski extends Sportowiec{ Kurek/Siatkowski

Complete Klasa nadrzędna jest abstrakcyjna abstract class Czlowiek{ } class Kobieta extends Czlowiek{ class Mezczyzna extends Czlowiek{ Kurek/Siatkowski

Incomplete Klasa generalizująca nie może być abstrakcyjna class Drzewo{ } class Jablon extends Drzewo{ class Grusza extends Drzewo{ class Brzoza extends Drzewo{ Kurek/Siatkowski

Wielodziedziczenie Poprzez przekształcenie w dziedziczenia w kompozycje Poprzez interfejsy Kurek/Siatkowski

Wielodziedziczenie poprzez kompozycje class Jednoslad{ Motor motor; Rower rower; } class Motor{} class Rower{} Kurek/Siatkowski

Wielodziedziczenie przez intefejsy interface Palny { int LATWOPALNY = 2; int PALNY = 1; int NIEPALNY = 0; void zapal (int palnosc); } class Material implements Palny{ public void zapal (int palnosc){ if (palnosc == LATWOPLANY || palnosc == PALNY) System.out.println(„splonal”); else System.out.println(„przetrwal”); Kurek/Siatkowski

Dziedziczenie wieloaspektowe Kurek/Siatkowski

Dziedziczenie dynamiczne Trudne w implementacji Jedną z metod jest kopiowanie obiektów pomiędzy klasami, usuwanie obiektów źródłowych i zmiana (innej już) referencji kopiowanie Paleciak Widlak transporter Kurek/Siatkowski