MAS dr. Inż. Mariusz Trzaska
|
|
- Stanisława Witkowska
- 7 lat temu
- Przeglądów:
Transkrypt
1 MAS dr. Inż. Mariusz Trzaska Wykład 5 Realizacja asocjacji w obiektowych językach programowania (1)
2 Zagadnienia o o o o o o o Wstęp teoretyczny Implementacja asocjacji: Przy pomocy identyfikatorów, Korzystając z natywnych referencji. Implementacja asocjacji: ze względu na liczności, binarnych, z atrybutem, kwalifikowanych, n-arnych, Implementacja agregacji, Implementacja kompozycji, Uniwersalne zarządzanie asocjacjami, Podsumowanie Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 5 2
3 Powiązania i Asocjacje o Powiązanie.. Zależność łącząca obiekty. o Powiązania binarne. o Asocjacja.. Grupa powiązań o tej samej semantyce i strukturze. o Służą do opisu zależności pomiędzy klasami. o Powiązanie jest wystąpieniem asocjacji (tak jak obiekt jest wystąpieniem klasy). Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 5 3
4 Liczności asocjacji o 1 do 0, 1 Pracownik -Imię -Nazwisko pracuje w Firma -Nazwa o 1 do 1 Pracownik -Imię -Nazwisko pracuje w 1 1 Firma -Nazwa o 1 do * Pracownik -Imię -Nazwisko pracuje w * 1 Firma -Nazwa o * do * Pracownik -Imię -Nazwisko pracuje w * * Firma -Nazwa Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 5 4
5 Powiązania i Asocjacje - przykład Pracownik pracuje w Firma * 1 : Pracownik Imię = Jan Nazwisko = Kowalski : Pracownik Imię = Andrzej Nazwisko = Nowak pracuje w pracuje w : Firma Nazwa = IBM : Firma Nazwa = Softmakers Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 5 5
6 Asocjacja skierowana o Informacja biznesowa (zależność) jest przechowywana tylko w jednym kierunku. o Zastosowania? o Użyteczność? Pracownik -Imię -Nazwisko pracuje w *? * Firma -Nazwa Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 5 6
7 Role asocjacji o Oprócz nazwy asocjacja może posiadać nazwy ról. o Nazewnictwo Nazwa asocjacji: pracuje w, Nazwa roli: pracodawca o Role kiedy opcjonalne, a kiedy wymagane? o Użyteczność z punktu widzenia implementacji. Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 5 7
8 Asocjacja rekurencyjna o Zachodzi w ramach tej samej klasy Pracownik : Pracownik -Podwładny * -Imię -Nazwisko Szef Imię = Jan Nazwisko = Kowalski Szef Szef Podwładny Podwładny : Pracownik Imię = Janusz Nazwisko = Abacki : Pracownik Imię = Andrzej Nazwisko = Nowak Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 5 8
9 Asocjacja z atrybutem o Załóżmy, że mamy przypadek biznesowy opisany poniższym diagramem Pracownik -Imię -Nazwisko o Chcemy zapamiętać: Kiedy pracownik pracował w danej firmie, Ile tam zarabiał. pracuje w * * Firma -Nazwa o Jak i gdzie umieścić takie informacje na diagramie? Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 5 9
10 Asocjacja z atrybutem (2) Pracownik -Imię -Nazwisko?! pracuje w * * Data od Data do Pensja Firma -Nazwa?! o Rozwiązanie asocjacja z atrybutem (klasa asocjacji) Pracownik -Imię -Nazwisko pracuje w -Data od -Data do -Pensja * * Firma -Nazwa Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 5 10
11 Asocjacja z atrybutem (3) pracuje w -Data od -Data do -Pensja Pracownik -Imię -Nazwisko * * Firma -Nazwa : Pracownik pracuje w ,00 o Diagram klas oraz diagram obiektów Imię = Jan Nazwisko = Kowalski : Pracownik Imię = Andrzej Nazwisko = Nowak pracuje w ,00 : Firma Nazwa = IBM null -4500,00 pracuje w : Firma Nazwa = Softmakers Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 5 11
12 Asocjacja kwalifikowana o Kwalifikator: atrybut lub zestaw atrybutów jednoznacznie identyfikujący obiekt w ramach asocjacji. o Umożliwia szybkie Pracownik -Imię pracuje w Firma otrzymanie obiektu -Nazwisko -Nazwa -Id z drugiej strony powiązania na podstawie * * Pracownik pracuje w Firma kwalifikatora -Imię Id -Nazwa -Nazwisko 1 * o Indeksowanie (?) Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 5 12
13 * Asocjacja n-arna o Asocjacja łącząca n klas. o Problemy koncepcyjne (w tym z szacowaniem liczności) o Zakłada się, że liczności powinny być wiele. Pracownik * wykonuje Od Do Wynagrodzenie * Projekt Zadanie Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 5 13
14 Agregacja o Asocjacja opisująca zależność typu część całość: Składa się z, Należy do, Jest członkiem, Itp.. o Posiada wszystkie cechy zwykłej asocjacji. o Ze względu na opisywanie specyficznej zależności warto zrezygnować z nazwy. o Wykorzystanie asocjacji nie narzuca żadnych konsekwencji na związek łączący klasy. Pracownik Grupa * * Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 5 14
15 Kompozycja o Kompozycja jest mocniejszą forma agregacji. o Czyli jest również asocjacją, a zatem posiada wszystkie jej cechy. o Inaczej niż w przypadku agregacji, wykorzystanie kompozycji niesie pewne konsekwencje: Część nie może być współdzielona (liczności), Część nie może istnieć bez całości (całość może), Usunięcie całości oznacza usunięcie również wszystkich jej części. Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 5 15
16 Kompozycja (2) o Agregacja Pracownik Grupa * * o Kompozycja Pracownik Grupa * 1 Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 5 16
17 Asocjacje, a języki programowania o Jak się mają podane definicje do popularnych, obiektowych języków programowania? o W językach Java, MS C#, C++ asocjacje nie występują. o Oczywiście można je samodzielnie zaimplementować. Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 5 17
18 Implementacja asocjacji o Można zastosować dwa podejścia. Zasadnicza różnica polega na sposobie przechowywania informacji o powiązaniu obiektów: Identyfikatory, np. liczbowe, Natywne referencje języka (Java, C#) lub wskaźniki (C++). o Które podejście jest lepsze? Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 5 18
19 Wykorzystanie identyfikatorów o o o Do każdej klasy dodajemy atrybut będący identyfikatorem, np. liczbę int. Informacje o powiązanych obiektach przechowujemy pamiętając ich identyfikatory (uwaga na liczności). Konieczność tworzenia Film Film Aktor -Id par identyfikatorów (dla -Tytuł * * asocjacji dwukierunkowych) Aktor -Id -Imię i nazwisko :Film :Film :Aktor :Aktor Id = 1 Id = 2 Id = 3 Id = 4 Tytuł = T1 Tytuł = T3 Imię i Nazwisko = AS Imię i Nazwisko = MB Aktor = [3, 4] Aktor = [3, 5] Film = [1, 2] Film = [1] Id = 5 :Aktor Imię i Nazwisko = KL Film = [2] Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 5 19
20 Wykorzystanie identyfikatorów (2) public class Aktor { private int id; public String imienazwisko;// public dla uproszczenia public int[] film; private static ArrayList<Aktor> ekstensja = new ArrayList<Aktor>(); public Aktor(int id, String imienazwisko, int[] filmid) { // Dodaj do ekstensji ekstensja.add(this); this.id = id; this.imienazwisko = imienazwisko; film = filmid; public static Aktor znajdzaktora(int id) throws Exception { for(aktor aktor : ekstensja) { if(aktor.id == id) { return aktor; throw new Exception("Nie znaleziono aktora o id = " + id); Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 5 20
21 Wykorzystanie identyfikatorów (3) public class Film { public int id; public String tytul; // public dla uproszczenia public int[] aktor; private static ArrayList<Film> ekstensja = new ArrayList<Film>(); public Film(int id, String tytul, int[] aktorid) { // Dodaj do ekstensji ekstensja.add(this); this.id = id; this.tytul = tytul; aktor = aktorid; public static Film znajdzfilm(int id) throws Exception { for(film film : ekstensja) { if(film.id == id) { return film; throw new Exception("Nie znaleziono filmu o id = " + id); Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 5 21
22 Wykorzystanie identyfikatorów (4) Film film1 = new Film(1, "T1", new int[]{3, 4); Film film2 = new Film(2, "T3", new int[]{3, 5); Aktor aktor1 = new Aktor(3, "AS", new int[]{1, 2); Aktor aktor2 = new Aktor(4, "MB", new int[]{1); Aktor aktor3 = new Aktor(5, "KL", new int[]{2); // Wyswietl info o filmie1 System.out.println(film1.tytul); for(int i = 0; i < film1.aktor.length; i++) { System.out.println(" " + Aktor.znajdzAktora(film1.aktor[i]).imieNazwisko); // Wyswietl info o aktor1 System.out.println(aktor1.imieNazwisko); for(int i = 0; i < aktor1.film.length; i++) { System.out.println(" " + Film.znajdzFilm(aktor1.film[i]).tytul); T1 AS MB AS T1 T3 Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 5 22
23 Wykorzystanie identyfikatorów (5) o Wady: Konieczność wyszukiwania obiektu na podstawie jego numeru identyfikacyjnego problemy z wydajnością. Wydajność wyszukiwania można zdecydowanie poprawić używając kontenerów mapujących zamiast zwykłych, np.: public class Film { private static Map<Integer, Film> ekstensja = new TreeMap<Integer, Film>(); // [...] public Film(int id, String tytul, int[] aktorid) { // Dodaj do ekstensji ekstensja.put(new Integer(id), this); // [...] public static Film znajdzfilm(int id) throws Exception { return ekstensja.get(new Integer(id)); Mimo wszystko i tak trzeba wyszukiwać Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 5 23
24 Wykorzystanie identyfikatorów (6) o Zalety (właściwie jedna (?), ale czasami ważna): Uniezależnienie poszczególnych obiektów od siebie. Dzięki temu, że nie używamy referencji języka Java, maszyna wirtualna nic nie wie o naszych powiązaniach. Jest to bardzo ważne, gdy np. chcemy odczytać jeden obiekt z bazy danych lub przesłać przez sieć: Tworzony jest obiekt języka Java na podstawie zawartości BD, ale nie są tworzone obiekty z nim powiązane, Całość można tak zaprojektować, aby dopiero przy próbie dostępu do obiektu wskazywanego przez id, pobrać go z BD czy lokalizacji sieciowej. Dzięki temu nie musimy rekonstruować od razu całego grafu obiektów, który nie musi być nam potrzebny. Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 5 24
25 Wykorzystanie natywnych referencji o W celu pokazywania na powiązane obiekty wykorzystujemy natywne referencje języka (Java, C#) lub wskaźniki (C++). o Dzięki temu nie musimy odszukiwać obiektów; o Mając jego referencje (lub wskaźnik) mamy do niego natychmiastowy dostęp (szybciej już się nie da). o Konieczność tworzenia par referencji (jeżeli chcemy nawigować w dwie strony a przeważnie chcemy). Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 5 25
26 Wykorzystanie natywnych referencji (2) o W zależności od liczności asocjacji, wykorzystujemy różne konstrukcje: 1 do 1. Pojedyncza referencja z każdej strony. public class Aktor { public String imienazwisko;// public dla uproszczenia public Film film; // impl. asocjacji, licznosc 1 public Aktor(String imienazwisko, Film film) { this.imienazwisko = imienazwisko; this.film = film; public class Film { public String tytul; // public dla uproszczenia public Aktor aktor; // impl. asocjacji, licznosc 1 public Film(String tytul, Aktor aktor) { this.tytul = tytul; this.aktor = aktor; Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 5 26
27 Wykorzystanie natywnych referencji (3) o W zależności od liczności asocjacji, wykorzystujemy różne konstrukcje: 1 do *. Pojedyncza referencja oraz kontener. public class Aktor { public String imienazwisko;// public dla uproszczenia public Film film; // impl. asocjacji, licznosc 1 public Aktor(String imienazwisko, Film film) { this.imienazwisko = imienazwisko; this.film = film; public class Film { public String tytul; // public dla uproszczenia public ArrayList<Aktor> aktor; // impl. asocjacji, licznosc * public Film(String tytul, Aktor aktor) { this.tytul = tytul; this.aktor.add(aktor); Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 5 27
28 Wykorzystanie natywnych referencji (4) o W zależności od liczności asocjacji, wykorzystujemy różne konstrukcje: * do *. Dwa kontenery. public class Aktor { public String imienazwisko;// public dla uproszczenia public ArrayList<Film> film; // impl. asocjacji, licznosc * public Aktor(String imienazwisko) { this.imienazwisko = imienazwisko; public class Film { public String tytul; // public dla uproszczenia public ArrayList<Aktor> aktor; // impl. asocjacji, licznosc * public Film(String tytul) { this.tytul = tytul; Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 5 28
29 Ulepszone zarządzanie powiązaniami o Poprzednie podejście wymagało ręcznego dodawania informacji o powiązaniu zwrotnym. o Warto to jakoś zautomatyzować. o Stworzymy metodę, która doda informacje o powiązaniu: W klasie głównej, W klasie z nią powiązanej. o Całość musi być tak zaprojektowana aby nie dochodziło do zapętlenia. Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 5 29
30 Ulepszone zarządzanie powiązaniami (2) public class Aktor { public String imienazwisko;// public dla uproszczenia private ArrayList<Film> film = new ArrayList<Film>(); // impl. asocjacji, licznosc * public Aktor(String imienazwisko) { this.imienazwisko = imienazwisko; public void dodajfilm(film nowyfilm) { // Sprawdz czy nie mamy juz informacji o tym filmie if(!film.contains(nowyfilm)) { film.add(nowyfilm); // Dodaj informacje zwrotna nowyfilm.dodajaktor(this); public String tostring() { String info = "Aktor: " + imienazwisko + "\n"; // Dodaj info o tytulach jego filmow for(film f : film) { info += " " + f.tytul + "\n"; return info; Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 5 30
31 Ulepszone zarządzanie powiązaniami (3) public class Film { public String tytul; // public dla uproszczenia private ArrayList<Aktor> aktor = new ArrayList<Aktor>(); // impl. asocjacji, licznosc * public Film(String tytul) { this.tytul = tytul; public void dodajaktor(aktor nowyaktor) { // Sprawdz czy nie mamy juz takiej informacji if(!aktor.contains(nowyaktor)) { aktor.add(nowyaktor); // Dodaj informacje zwrotna nowyaktor.dodajfilm(this); public String tostring() { String info = "Film: " + tytul + "\n"; // Dodaj info o tytulach jego filmow for(aktor a : aktor) { info += " " + a.imienazwisko + "\n"; return info; Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 5 31
32 Ulepszone zarządzanie powiązaniami (4) o Uwaga na liczność 1 - *: Tam gdzie jest liczność 1 będzie setter,, np. setfilm (zamiast addfilm). W efekcie zanim wstawimy nową wartość, musimy sprawdzić czy aktualna jest różna od null. Jeżeli tak, to trzeba usunąć istniejące powiązanie z obu stron. Następnie możemy utworzyć nowe poprzez przypisanie (liczność 1) ) i dodanie (liczność *). Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 5 32
33 Ulepszone zarządzanie powiązaniami (4) // Utworz nowe obiekty (na razie bez informacji o powiazaniach) Film film1 = new Film("T1"); Film film2 = new Film("T3"); Aktor aktor1 = new Aktor("AS"); Aktor aktor2 = new Aktor("MB"); Aktor aktor3 = new Aktor("KL"); // Dodaj informacje o powiazaniach film1.dodajaktor(aktor1); film1.dodajaktor(aktor2); film2.dodajaktor(aktor1); film2.dodajaktor(aktor3); // Wyswietl info o filmach System.out.println(film1); System.out.println(film2); // Wyswietl info o aktorach System.out.println(aktor1); System.out.println(aktor2); System.out.println(aktor3); Film: T1 AS MB Film: T3 AS KL Aktor: AS T1 T3 Aktor: MB T1 Aktor: KL T3 Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 5 33
34 Implementacja asocjacji skierowanej -Tytuł Film Aktor * Aktor -Imię i nazwisko o Powyższy diagram oznacza, że dla: konkretnego filmu chcemy znać jego aktorów, Konkretnego aktora nie chcemy znać jego filmów. o Implementacja jest analogiczna do poprzednich przypadków, z tym, że pamiętamy tylko informacje w jednej z klas: W klasie film jest odpowiedni kontener (pokazujący na filmy), W klasie aktor brak kontenera przechowującego info o filmach. Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 5 34
35 Implementacja asocjacji rekurencyjnej Aktor -Imię i nazwisko dziecko * rodzic 0..2 o Implementacja takiej asocjacji bazuje na poprzednio poznanych zasadach. o W klasie mamy dwa kontenery (zamiast jednego), przechowujące informacje z punktu widzenia każdej z ról. public class Aktor { public String imienazwisko;// public dla uproszczenia private ArrayList<Film> film = new ArrayList<Film>(); // impl. asocjacji, licznosc private ArrayList<Aktor> rodzic = new ArrayList<Aktor>(); private ArrayList<Aktor> dziecko = new ArrayList<Aktor>(); // [...] Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 5 35
36 Implementacja asocjacji z atrybutem o Najpierw musimy zamienić: jedną konstrukcję UML (asocjacja z atrybutem) na inną konstrukcję UML (asocjacją z klasą pośredniczącą). -Tytuł Film * * Aktor -Imię i nazwisko -Film -Aktor -Wynagrodzenie Film Film Aktor FilmAktor Film Aktor Aktor -Tytuł -Wynagrodzenie -Imię i nazwisko 1 * * 1 Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 5 36
37 Implementacja asocjacji z atrybutem (2) o Dzięki zastąpieniu atrybutu asocjacji, klasą pośredniczącą otrzymaliśmy dwie zwykłe asocjacje. o Nowe asocjacje implementujemy na jeden ze znanych sposobów. o Problem z semantyką tej nowej klasy Nazwa? Nazwy ról: starych oraz nowych o Utrudniony dostęp do obiektów docelowych (poprzez obiekt klasy pośredniczącej) Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 5 37
38 Implementacja asocjacji kwalifikowanej Film Film Aktor Tytul Aktor -Imię i nazwisko 1 * o Najprostsza implementacja: Korzystamy z istniejącego podejścia, Dodajemy metodę, która na podstawie tytułu zwróci nam obiekt klasy Film, Słaba wydajność. o Lepsze rozwiązanie: Nie korzystamy z ArrayList, Stosujemy kontener mapujący, gdzie kluczem jest tytuł, a wartością obiekt opisujący film. Informacja zwrotna w dotychczasowy sposób. Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 5 38
39 Implementacja asocjacji kwalifikowanej (2) public class Aktor { // [...] private TreeMap<String, Film> filmkwalif = new TreeMap<String, Film>(); public void dodajfilmkwalif(film nowyfilm) { // Sprawdz czy nie mamy juz informacji o tym filmie if(!filmkwalif.containskey(nowyfilm.tytul)) { filmkwalif.put(nowyfilm.tytul, nowyfilm); // Dodaj informację zwrotną nowyfilm.dodajaktor(this); public Film znajdzfilmkwalif(string tytul) throws Exception { // Sprawdz czy nie mamy juz informacji o tym filmie if(!filmkwalif.containskey(tytul)) { throw new Exception("Nie odnaleziono filmu o tytule: " + tytul); return filmkwalif.get(tytul); // [...] Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 5 39
40 Implementacja asocjacji kwalifikowanej (3) // Utworz nowe obiekty (na razie bez informacji o powiazaniach) Film film1 = new Film("T1"); Film film2 = new Film("T3"); Aktor aktor1 = new Aktor("AS"); Aktor aktor2 = new Aktor("MB"); Aktor aktor3 = new Aktor("KL"); // Dodaj informacje o powiazaniach aktor1.dodajfilmkwalif(film1); aktor1.dodajfilmkwalif(film2); aktor2.dodajfilmkwalif(film1); aktor3.dodajfilmkwalif(film2); // Wyswietl info o aktorach System.out.println(aktor1); System.out.println(aktor2); System.out.println(aktor3); // Pobierz info o filmie "T1" dla aktora aktor1 Film f = aktor1.znajdzfilmkwalif("t1"); System.out.println(f); Aktor: AS T1 T3 Aktor: MB T1 Aktor: KL T3 Film: T1 AS MB Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 5 40
41 Ciąg dalszy na następnym wykładzie... Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 5 41
MAS dr. Inż. Mariusz Trzaska. Realizacja asocjacji w obiektowych językach
MAS dr. Inż. Mariusz Trzaska Wykład 8 Realizacja asocjacji w obiektowych językach programowania (1) Zagadnienia o o o o o o o Wstęp teoretyczny Implementacja asocjacji: Przy pomocy identyfikatorów, Korzystając
MAS dr. Inż. Mariusz Trzaska. Realizacja różnych modeli dziedziczenia w obiektowych językach programowania
MAS dr. Inż. Mariusz Trzaska Wykład 10 Realizacja różnych modeli dziedziczenia w obiektowych językach programowania Zagadnienia o o o o o o Omówienie różnych rodzajów dziedziczenia, klas abstrakcyjnych
MAS dr. Inż. Mariusz Trzaska
MAS dr. Inż. Mariusz Trzaska Wykład 5 Model obiektowy cz. 3 Zagadnienia Dziedziczenie asocjacji Asocjacje pochodne Redukcja liczności Role wielowartościowe Trochę więcej o agregacji Agregacja rekursywna
MAS dr. Inż. Mariusz Trzaska. Wykorzystanie klas w obiektowych językach
MAS dr. Inż. Mariusz Trzaska Wykład 7 Wykorzystanie klas w obiektowych językach programowania Zagadnienia o o Realizacja w popularnych językach programowania (Java) poniższych konstrukcji: Klasa Ekstensja
Mariusz Trzaska Modelowanie i implementacja systemów informatycznych
Mariusz Trzaska Modelowanie i implementacja systemów informatycznych Notka biograficzna Dr inż. Mariusz Trzaska jest adiunktem w Polsko-Japońskiej Wyższej Szkole Technik Komputerowych, gdzie zajmuje się
Modelowanie obiektowe
Modelowanie obiektowe ZPO 2018/2019 Dr inż. W. Cichalewski Materiały wykonane przez W. Tylman Diagramy klas Diagramy klas Zawiera informacje o statycznych związkach między elementami (klasami) Są ściśle
Laboratorium z przedmiotu: Inżynieria Oprogramowania INP
Laboratoria 5-7- część 1 Identyfikacja klas reprezentujących logikę biznesową projektowanego oprogramowania, definicja atrybutów i operacji klas oraz związków między klasami - na podstawie analizy scenariuszy
Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych
Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych Obiekty reprezentują pewne pojęcia, przedmioty, elementy rzeczywistości. Obiekty udostępniają swoje usługi: metody operacje,
Instrukcja 2 Laboratorium z Podstaw Inżynierii Oprogramowania
Instrukcja 2 Laboratorium z Podstaw Inżynierii Oprogramowania Opis biznesowy świata rzeczywistego Wymagania funkcjonalne i niefunkcjonalne aplikacji Diagram przypadków życia Diagramy klas i sekwencji:
UML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami.
UML a kod w C++ i Javie Projektowanie oprogramowania Dokumentowanie oprogramowania Diagramy przypadków użycia Przewoznik Zarzadzanie pojazdami Optymalizacja Uzytkownik Wydawanie opinii Zarzadzanie uzytkownikami
MAS dr. Inż. Mariusz Trzaska
MAS dr. Inż. Mariusz Trzaska Wykład 4 Model obiektowy cz. 2 Zagadnienia Asocjacja binarna Agregacja a kompozycja Modelowanie generalizacji-specjalizacji Obejście dziedziczenia wielokrotnego Asocjacja kwalifikowana
Diagramy klas. dr Jarosław Skaruz http://ii3.uph.edu.pl/~jareks jaroslaw@skaruz.com
Diagramy klas dr Jarosław Skaruz http://ii3.uph.edu.pl/~jareks jaroslaw@skaruz.com O czym będzie? Notacja Ujęcie w różnych perspektywach Prezentacja atrybutów Operacje i metody Zależności Klasy aktywne,
Programowanie w języku Java - Wyjątki, obsługa wyjątków, generowanie wyjątków
Programowanie w języku Java - Wyjątki, obsługa wyjątków, generowanie wyjątków mgr inż. Maciej Lasota Version 1.0, 13-05-2017 Spis treści Wyjątki....................................................................................
Instrukcja 3 Laboratorium z Podstaw Inżynierii Oprogramowania
Instrukcja 3 Laboratorium z Podstaw Inżynierii Oprogramowania Diagramy klas i sekwencji: Relacja 1 do 0..* między klasami modelu obiektowego Cele laboratorium 3 Dokończyć 1-y etap z lab2. 2-i etap projektu.
Programowanie obiektowe
Programowanie obiektowe Wykład 7 Marcin Młotkowski 8 kwietnia 2015 Plan wykładu Z życia programisty, część 1 1 Z życia programisty, część 1 2 3 Z życia programisty, część 2 Model View Controller MVC w
Diagram klas UML jest statycznym diagramem, przedstawiającym strukturę aplikacji bądź systemu w paradygmacie programowania obiektowego.
Umiejętność czytania oraz tworzenia diagramów klas UML jest podstawą w przypadku zawodu programisty. Z takimi diagramami będziesz spotykał się w przeciągu całej swojej kariery. Diagramy klas UML są zawsze
Wykład 2 Wybrane konstrukcje obiektowych języków programowania (1)
MAS dr. Inż. Mariusz Trzaska Wykład 2 Wybrane konstrukcje obiektowych języków programowania (1) Zagadnienia o Podstawy o Kontrolowanie sterowania o Klasy o Interfejsy o Obsługa błędów o Pojemniki o System
Obiektowe programowanie rozproszone Java RMI. Krzysztof Banaś Systemy rozproszone 1
Obiektowe programowanie rozproszone Java RMI Krzysztof Banaś Systemy rozproszone 1 Java RMI Mechanizm zdalnego wywołania metod Javy (RMI Remote Method Invocation) posiada kilka charakterystycznych cech,
Programowanie obiektowe
Programowanie obiektowe Podstawowe cechy i możliwości języka Scala mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 2017 1 / 32 mgr inż. Krzysztof Szwarc Programowanie obiektowe Informacje
Interfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej
Programowanie obiektowe Interfejsy Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski pwr.wroc.pl Interfejsy Autor: Paweł Rogaliński Instytut Informatyki,
MSI dr. Inż. Mariusz Trzaska. obiektowych językach programowania
MSI dr. Inż. Mariusz Trzaska Wykład 12 Wykorzystanie modelu relacyjnego w obiektowych językach programowania o Model relacyjny Zagadnienia o Przyczyny popularności relacyjnych baz danych. o Mapowanie poszczególnych
Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna
Język JAVA podstawy Wykład 3, część 3 1 Język JAVA podstawy Plan wykładu: 1. Konstrukcja kodu programów w Javie 2. Identyfikatory, zmienne 3. Typy danych 4. Operatory, instrukcje sterujące instrukcja warunkowe,
Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018
Informatyka I Klasy i obiekty. Podstawy programowania obiektowego dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 Plan wykładu Pojęcie klasy Deklaracja klasy Pola i metody klasy
Laboratorium 8 Diagramy aktywności
Laboratorium 8 Diagramy aktywności Zofia Kruczkiewicz Zofia Kruczkiewicz Lab_INP002017_8 1 Modelowanie zachowania obiektów za pomocą diagramów aktywności. Modelowanie zachowania obiektów za pomocą diagramów
Klasy abstrakcyjne i interfejsy
Klasy abstrakcyjne i interfejsy Streszczenie Celem wykładu jest omówienie klas abstrakcyjnych i interfejsów w Javie. Czas wykładu 45 minut. Rozwiązanie w miarę standardowego zadania matematycznego (i nie
Laboratorium z przedmiotu: Inżynieria Oprogramowania INEK Instrukcja 6
Instrukcja 6 Laboratorium 8 Opracowanie diagramów sekwencji dla wybranych przypadków użycia reprezentujących usługi oprogramowania wynikających również z wykonanych diagramów czynności; definicja operacji
Podstawy programowania obiektowego
Podstawy programowania obiektowego Technologie internetowe Wykład 5 Program wykładu Podejście obiektowe kontra strukturalne do tworzenie programu Pojęcie klasy i obiektu Składowe klasy: pola i metody Tworzenie
UML. zastosowanie i projektowanie w języku UML
UML zastosowanie i projektowanie w języku UML Plan Czym jest UML Diagramy przypadków użycia Diagramy sekwencji Diagramy klas Diagramy stanów Przykładowe programy Visual Studio a UML Czym jest UML UML jest
Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html
Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html Dr inż. Zofia Kruczkiewicz wykład 4 Programowanie aplikacji internetowych, wykład 4 1 1. Zadania aplikacji rozproszonych obiektów
KLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany
KLASA UCZEN Napisz deklarację klasy Uczen, w której przechowujemy następujące informacje o uczniu: imię, nazwisko, średnia (pola prywatne), poza tym klasa zawiera metody: konstruktor bezparametrowy (nie
PODEJŚCIE OBIEKTOWE. Przykład 1 metody i atrybuty statyczne
Przykład 1 metody i atrybuty statyczne public class Napis1 { static String wynik; public static void Inicjuj() {wynik = ""; PODEJŚCIE OBIEKTOWE public static void Dopisz_do_wyniku(char ch) { wynik+="\nkod
Wyjątki. Streszczenie Celem wykładu jest omówienie tematyki wyjątków w Javie. Czas wykładu 45 minut.
Wyjątki Streszczenie Celem wykładu jest omówienie tematyki wyjątków w Javie. Czas wykładu 45 minut. Wydaje się, że żaden użytkownik oprogramowania nie lubi, kiedy stosowany program nagle zawiesza się,
Laboratorium z przedmiotu: Inżynieria Oprogramowania INEK Instrukcja 7
Instrukcja 7 Laboratoria 9, 10 Opracowanie diagramów sekwencji dla wybranych przypadków użycia reprezentujących usługi oprogramowania wynikających również z wykonanych diagramów czynności; definicja operacji
Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl
Komputerowe Systemy Przemysłowe: Modelowanie - UML Arkadiusz Banasik arkadiusz.banasik@polsl.pl Plan prezentacji Wprowadzenie UML Diagram przypadków użycia Diagram klas Podsumowanie Wprowadzenie Języki
Programowanie obiektowe
Laboratorium z przedmiotu Programowanie obiektowe - zestaw 02 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas i obiektów z wykorzystaniem dziedziczenia.
Laboratorium z przedmiotu Programowanie obiektowe - zestaw 04
Laboratorium z przedmiotu Programowanie obiektowe - zestaw 04 Cel zajęć. Celem zajęć jest zapoznanie się ze sposobem działania popularnych kolekcji. Wprowadzenie teoretyczne. Rozważana w ramach niniejszych
UML a kod. C++, Java i C#
UML a kod C++, Java i C# UML a kod w C++ i Javie Projektowanie oprogramowania! Dokumentowanie oprogramowania Diagramy przypadków użycia Klasy użytkowników i wykorzystywane funkcje Mogą sugerować podział
Rysunek 1: Przykłady graficznej prezentacji klas.
4 DIAGRAMY KLAS. 4 Diagramy klas. 4.1 Wprowadzenie. Diagram klas - w ujednoliconym języku modelowania jest to statyczny diagram strukturalny, przedstawiający strukturę systemu w modelach obiektowych przez
Podstawy modelowania w języku UML
Podstawy modelowania w języku UML dr hab. Bożena Woźna-Szcześniak, prof. UJD Uniwersytet Humanistyczno-Przyrodniczy im. Jana Długosza w Częstochowie Wykład 2 Związki między klasami Asocjacja (ang. Associations)
Instrukcja 5 Laboratorium z Podstaw Inżynierii Oprogramowania. Warstwy integracji z bazą danych: Wzorzec DAO Technologia ORM
Instrukcja 5 Laboratorium z Podstaw Inżynierii Oprogramowania Warstwy integracji z bazą danych: Wzorzec DAO Technologia ORM Cel laboratorium 5 Należy wykonać dwie aplikacje zawierające warstwę integracji
Język UML w modelowaniu systemów informatycznych
Język UML w modelowaniu systemów informatycznych dr hab. Bożena Woźna-Szcześniak Akademia im. Jan Długosza bwozna@gmail.com Wykład 2 Związki między klasami Asocjacja (ang. Associations) Uogólnienie, dziedziczenie
KLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany
KLASA UCZEN Napisz deklarację klasy Uczen, w której przechowujemy następujące informacje o uczniu: imię, nazwisko, średnia (pola prywatne), poza tym klasa zawiera metody: konstruktor bezparametrowy (nie
Programowanie obiektowe
Programowanie obiektowe Wykład 2 Marcin Młotkowski 4 marca 2015 Plan wykładu 1 2 3 4 5 Marcin Młotkowski Programowanie obiektowe 2 / 47 Krótki opis C Obiektowy, z kontrolą typów; automatyczne odśmiecanie;
Technologie obiektowe
WYKŁAD dr inż. Paweł Jarosz Instytut Informatyki Politechnika Krakowska mail: pjarosz@pk.edu.pl LABORATORIUM dr inż. Paweł Jarosz (3 grupy) mgr inż. Piotr Szuster (3 grupy) warunki zaliczenia Obecność
Modelowanie danych, projektowanie systemu informatycznego
Modelowanie danych, projektowanie systemu informatycznego Modelowanie odwzorowanie rzeczywistych obiektów świata rzeczywistego w systemie informatycznym Modele - konceptualne reprezentacja obiektów w uniwersalnym
MAS dr. Inż. Mariusz Trzaska
MAS dr. Inż. Mariusz Trzaska Wykład 9 Wykorzystanie modelu relacyjnego w obiektowych językach programowania o Model relacyjny Zagadnienia o Przyczyny popularności relacyjnych baz danych. o Mapowanie poszczególnych
Podstawy Programowania Obiektowego
Podstawy Programowania Obiektowego Wprowadzenie do programowania obiektowego. Pojęcie struktury i klasy. Spotkanie 03 Dr inż. Dariusz JĘDRZEJCZYK Tematyka wykładu Idea programowania obiektowego Definicja
Programowanie obiektowe
Programowanie obiektowe III. Refleksja Małgorzata Prolejko OBI JA16Z03 Plan Klasa Class. Analiza funkcjonalności klasy. Podstawy obsługi wyjątków. Zastosowanie refleksji do analizy obiektów. Wywoływanie
Przykład 1 Iteracja 1 tworzenia oprogramowania
Przykład 1 Iteracja 1 tworzenia oprogramowania Opis biznesowy świata rzeczywistego Wymagania funkcjonalne i niefunkcjonalne aplikacji Diagram przypadków życia Diagramy klas i sekwencji: Relacja 1 do 0..*
Inżynieria oprogramowania. Część 5: UML Diagramy klas
UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI Opracował: mgr inż. Przemysław Pardel v1.01 2010 Inżynieria oprogramowania Część 5: UML Diagramy klas ZAGADNIENIA DO ZREALIZOWANIA (3H) 1. Diagram klas... 3 Zadanie
Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki
Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Object-oriented programming Najpopularniejszy obecnie styl (paradygmat) programowania Rozwinięcie koncepcji programowania strukturalnego
Dzisiejszy wykład. Wzorce projektowe. Visitor Client-Server Factory Singleton
Dzisiejszy wykład Wzorce projektowe Visitor Client-Server Factory Singleton 1 Wzorzec projektowy Wzorzec nazwana generalizacja opisująca elementy i relacje rozwiązania powszechnie występującego problemu
Modelowanie i implementacja systemów informatycznych
Mariusz Trzaska Modelowanie i implementacja systemów informatycznych Fragmenty książki pobrane z http://www.mtrzaska.com Kup tę książkę: Wersja elektroniczna: o edycja PDF (ADE), o edycja epub (ADE). Wersja
Język JAVA podstawy. wykład 2, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna
Język JAVA podstawy wykład 2, część 1 1 Język JAVA podstawy Plan wykładu: 1. Rodzaje programów w Javie 2. Tworzenie aplikacji 3. Tworzenie apletów 4. Obsługa archiwów 5. Wyjątki 6. Klasa w klasie! 2 Język
Laboratorium z przedmiotu: Inżynieria Oprogramowania INEK Instrukcja 5
Instrukcja 5 Laboratorium 7 Identyfikacja klas reprezentujących logikę biznesową projektowanego oprogramowania, definicja atrybutów i operacji klas oraz związków między klasami - na podstawie analizy scenariuszy
Lista, Stos, Kolejka, Tablica Asocjacyjna
Lista, Stos, Kolejka, Tablica Asocjacyjna Listy Lista zbiór elementów tego samego typu może dynamicznie zmieniać rozmiar, pozwala na dostęp do poszczególnych elementów Typowo dwie implementacje: tablicowa,
Podstawy projektowania systemów komputerowych
Podstawy projektowania systemów komputerowych Diagramy klas UML 1 Widok logiczny Widok logiczny Widok fizyczny Widok przypadków użycia Widok procesu Widok konstrukcji Używany do modelowania części systemu
Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 3. Karol Tarnowski A-1 p.
Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni Wykład 3 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Abstrakcja funkcyjna Struktury Klasy hermetyzacja
Języki i metody programowania Java. Wykład 2 (część 2)
Języki i metody programowania Java INF302W Wykład 2 (część 2) Autor Dr inż. Zofia Kruczkiewicz 1 Struktura wykładu 1. Identyfikacja danych reprezentowanych przez klasy podczas opracowania koncepcji prostego
Kurs programowania. Wykład 9. Wojciech Macyna. 28 kwiecień 2016
Wykład 9 28 kwiecień 2016 Java Collections Framework (w C++ Standard Template Library) Kolekcja (kontener) Obiekt grupujacy/przechowuj acy jakieś elementy (obiekty lub wartości). Przykładami kolekcji sa
Laboratorium 6 DIAGRAM KLAS (Class Diagram)
Laboratorium 6 DIAGRAM KLAS (Class Diagram) Opisuje strukturę programu (a także zależności między nimi), co znajduje odzwierciedlenie w kodzie. Charakteryzuje zależności pomiędzy składnikami systemu: klasami,
Zaawansowane aplikacje WWW - laboratorium
Zaawansowane aplikacje WWW - laboratorium Przetwarzanie XML (część 2) Celem ćwiczenia jest przygotowanie aplikacji, która umożliwi odczyt i przetwarzanie pliku z zawartością XML. Aplikacja, napisana w
Tworzenie aplikacji w języku Java
Tworzenie aplikacji w języku Java Wykład 2 Java Collections Framework Piotr Czapiewski Wydział Informatyki ZUT 2 października 2009 Piotr Czapiewski (Wydział Informatyki ZUT) Tworzenie aplikacji w języku
INFORMATYKA GEODEZYJNO- KARTOGRAFICZNA. Modelowanie danych. Model związków-encji
Modelowanie danych. Model związków-encji Plan wykładu Wprowadzenie do modelowania i projektowania kartograficznych systemów informatycznych Model związków-encji encje atrybuty encji związki pomiędzy encjami
Programowanie obiektowe
Programowanie obiektowe Wykład 2: Wstęp do języka Java 3/4/2013 S.Deniziak: Programowanie obiektowe - Java 1 Cechy języka Java Wszystko jest obiektem Nie ma zmiennych globalnych Nie ma funkcji globalnych
Programowanie obiektowe
Programowanie obiektowe Wykład: klasa, obiekt, po co używać klas, właściwości, atrybuty, funkcje, zachowania, metody, przykładowe obiekty, definiowanie klasy, obiektu, dostęp do składników klasy, public,
Kurs programowania. Wstęp - wykład 0. Wojciech Macyna. 22 lutego 2016
Wstęp - wykład 0 22 lutego 2016 Historia Simula 67 język zaprojektowany do zastosowan symulacyjnych; Smalltalk 80 pierwszy język w pełni obiektowy; Dodawanie obiektowości do języków imperatywnych: Pascal
Polimorfizm, metody wirtualne i klasy abstrakcyjne
Programowanie obiektowe Polimorfizm, metody wirtualne i klasy abstrakcyjne Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski pwr.wroc.pl Polimorfizm,
JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji.
JAVA Java jest wszechstronnym językiem programowania, zorientowanym obiektowo, dostarczającym możliwość uruchamiania apletów oraz samodzielnych aplikacji. Java nie jest typowym kompilatorem. Źródłowy kod
PARADYGMATY PROGRAMOWANIA Wykład 3
PARADYGMATY PROGRAMOWANIA Wykład 3 Definiowanie operatorów i ich przeciążanie Przykłady zastosowania operatorów: a) operator podstawienia ( = ) obiektów o złożonej strukturze, b) operatory działania na
Programowanie Obiektowe Ćwiczenie 4
Programowanie Obiektowe Ćwiczenie 4 1. Zakres ćwiczenia wyjątki kompozycja 2. Zagadnienia Założeniem, od którego nie należy odbiegać, jest by każdy napotkany problem (np. zatrzymanie wykonywanej metody)
Konstruktory. Streszczenie Celem wykładu jest zaprezentowanie konstruktorów w Javie, syntaktyki oraz zalet ich stosowania. Czas wykładu 45 minut.
Konstruktory Streszczenie Celem wykładu jest zaprezentowanie konstruktorów w Javie, syntaktyki oraz zalet ich stosowania. Czas wykładu 45 minut. Rozpatrzmy przykład przedstawiający klasę Prostokat: class
Programowanie obiektowe
Programowanie obiektowe IV. Interfejsy i klasy wewnętrzne Małgorzata Prolejko OBI JA16Z03 Plan Właściwości interfejsów. Interfejsy a klasy abstrakcyjne. Klonowanie obiektów. Klasy wewnętrzne. Dostęp do
Dokumentacja do API Javy.
Dokumentacja do API Javy http://java.sun.com/j2se/1.5.0/docs/api/ Klasy i obiekty Klasa jest to struktura zawierająca dane (pola), oraz funkcje operujące na tych danych (metody). Klasa jest rodzajem szablonu
Język JAVA podstawy. Wykład 4, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna
Język JAVA podstawy Wykład 4, część 1 1 Język JAVA podstawy Plan wykładu: 1. Podstawy modelowania obiektowego 2. Konstruktory 3. Dziedziczenie, związki pomiędzy klasami, UML 4. Polimorfizm 5. Klasy abstrakcyjne
Informacje ogólne. Karol Trybulec p-programowanie.pl 1. 2 // cialo klasy. class osoba { string imie; string nazwisko; int wiek; int wzrost;
Klasy w C++ są bardzo ważnym narzędziem w rękach programisty. Klasy są fundamentem programowania obiektowego. Z pomocą klas będziesz mógł tworzyć lepszy kod, a co najważniejsze będzie on bardzo dobrze
Dziedziczenie. Streszczenie Celem wykładu jest omówienie tematyki dziedziczenia klas. Czas wykładu 45 minut.
Dziedziczenie Streszczenie Celem wykładu jest omówienie tematyki dziedziczenia klas. Czas wykładu 45 minut. Rozpatrzmy przykład przedstawiający klasy Student oraz Pracownik: class Student class Pracownik
JAVA W SUPER EXPRESOWEJ PIGUŁCE
JAVA W SUPER EXPRESOWEJ PIGUŁCE Obiekt Obiekty programowe to zbiór własności i zachowań (zmiennych i metod). Podobnie jak w świecie rzeczywistym obiekty posiadają swój stan i zachowanie. Komunikat Wszystkie
Aplikacje w środowisku Java
Aplikacje w środowisku Java Materiały do zajęć laboratoryjnych Klasy i obiekty - dziedziczenie mgr inż. Kamil Zieliński Katolicki Uniwersytet Lubelski Jana Pawła II 2018/2019 W ramach poprzedniego laboratorium
Programowanie obiektowe
Programowanie obiektowe Wykład 11: Serializacja obiektów 5/19/2013 S.Deniziak:Programowanie obiektowe 1 Problem składowania/przesyłania danych Strumienie Tylko typy proste Konieczność ręcznego odtwarzania
Programowanie obiektowe
Laboratorium z przedmiotu - zestaw 02 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas i obiektów z wykorzystaniem dziedziczenia. Wprowadzenie teoretyczne.
Języki i metody programowania Java INF302W Wykład 2 (część 1)
Języki i metody programowania Java INF302W Wykład 2 (część 1) Autor Dr inż. Zofia Kruczkiewicz Autor: Zofia Kruczkiewicz, Języki i metody programowania Java, wykład 2, część 1 1 Struktura wykładu 1. Identyfikacja
Java - tablice, konstruktory, dziedziczenie i hermetyzacja
Java - tablice, konstruktory, dziedziczenie i hermetyzacja Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak PLAN WYKŁADU zmienne tablicowe konstruktory klas dziedziczenie hermetyzacja
UML w Visual Studio. Michał Ciećwierz
UML w Visual Studio Michał Ciećwierz UNIFIED MODELING LANGUAGE (Zunifikowany język modelowania) Pozwala tworzyć wiele systemów (np. informatycznych) Pozwala obrazować, specyfikować, tworzyć i dokumentować
Programowanie obiektowe
Laboratorium z przedmiotu Programowanie obiektowe - zestaw 03 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas abstrakcyjnych i interfejsów. Wprowadzenie
Diagramy klas. WYKŁAD Piotr Ciskowski
Diagramy klas WYKŁAD Piotr Ciskowski przedstawienie statyki systemu graficzne przedstawienie statycznych, deklaratywnych elementów dziedziny przedmiotowej oraz związków między nimi obiekty byt, egzemplarz
Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz
Programowanie obiektowe Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Java P. L. Lemay, Naughton R. Cadenhead Java Podręcznik 2 dla kaŝdego Języka Programowania Java Linki Krzysztof Boone oprogramowania
PODSTAWY BAZ DANYCH. 5. Modelowanie danych. 2009/ Notatki do wykładu "Podstawy baz danych"
PODSTAWY BAZ DANYCH 5. Modelowanie danych 1 Etapy tworzenia systemu informatycznego Etapy tworzenia systemu informatycznego - (według CASE*Method) (CASE Computer Aided Systems Engineering ) Analiza wymagań
11.6 Klasa do obsługi liczb wymiernych
246 11.6 Klasa do obsługi liczb wymiernych Klasa do obsługi liczb wymiernych, którą teraz zaprojektujemy w celu zilustrowania korzyści wynikających z programowania obiektowego, służy do zgrabnego wykonywania
Definiowanie własnych klas
Programowanie obiektowe Definiowanie własnych klas Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski @ pwr.wroc.pl Definiowanie własnych klas Autor:
Szablony funkcji i szablony klas
Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2011 Bogdan Kreczmer Niniejszy dokument
Bazy danych i usługi sieciowe
Bazy danych i usługi sieciowe Modelowanie związków encji Paweł Daniluk Wydział Fizyki Jesień 2014 P. Daniluk (Wydział Fizyki) BDiUS w. II Jesień 2014 1 / 28 Modelowanie Modelowanie polega na odwzorowaniu
Programowanie obiektowe i zdarzeniowe
Marek Tabędzki Programowanie obiektowe i zdarzeniowe 1/23 Programowanie obiektowe i zdarzeniowe wykład 6 polimorfizm Na poprzednim wykładzie: dziedziczenie jest sposobem na utworzenie nowej klasy na podstawie
Enkapsulacja, dziedziczenie, polimorfizm
17 grudnia 2008 Spis treści I Enkapsulacja 1 Enkapsulacja 2 Spis treści II Enkapsulacja 3 Czym jest interfejs Jak definuje się interfejs? Rozszerzanie interfejsu Implementacja interfejsu Częściowa implementacja
Zagadnienia (1/3) Data-flow diagramy przepływów danych ERD diagramy związków encji Diagramy obiektowe w UML (ang. Unified Modeling Language)
Zagadnienia (1/3) Rola modelu systemu w procesie analizy wymagań (inżynierii wymagań) Prezentacja różnego rodzaju informacji o systemie w zależności od rodzaju modelu. Budowanie pełnego obrazu systemu
Przypomnienie o klasach i obiektach
Wykład 14 Programowanie obiektowe ciąg dalszy, str 1 Przypomnienie o klasach i obiektach -5 należydo int 314 należy do double false należy do boolean {27, 314,-15 należy do double[] wartość należy do typ
Programowanie i struktury danych. Wykład 4 Dr Piotr Cybula
Programowanie i struktury danych Wykład 4 Dr Piotr ybula Typ wska ź nikowy int* pointer; //wskaźnik do zmiennych typu int pozwala na dostęp do dowolnego miejsca pamięci (zmienne
Temat 1. Podstawy Środowiska Xcode i wprowadzenie do języka Objective-C
Temat 1. Podstawy Środowiska Xcode i wprowadzenie do języka Objective-C Wymagana wiedza wstępna: 1) Student musi 1) Znać język C 2) Znać zasady zarządzania pamięcią w komputerze 3) Znać pojecie wskaźnika
Wykład 8: klasy cz. 4
Programowanie obiektowe Wykład 8: klasy cz. 4 Dynamiczne tworzenie obiektów klas Składniki statyczne klas Konstruktor i destruktory c.d. 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD