Agregacja. Wykorzystanie innego komponentu bez użycia agregacji. Simple calculator. Extended calculator
|
|
- Daniel Czerwiński
- 7 lat temu
- Przeglądów:
Transkrypt
1 Agregacja
2 Agregacja Agregacja jest to wykorzystywanie przez komponent nadrzędny innego komponentu w taki sposób, że udostępnia jego interfejs jako własny. Aby komponent mógł być użyty jako agregat, metody interfejsów IUnknown i IClassFactory muszą zostać tak skonstruowane, aby spełnione zostały zasady symetrii, zwrotności i przechodniości.
3 Agregacja Wykorzystanie innego komponentu bez użycia agregacji. ICalc Pwr() Sqrt() Log()... Add() Sub() Mul() Div() ISimpleCalc Add() Sub() Mul() Div() Extended calculator Simple calculator
4 Agregacja Wykorzystanie innego komponentu bez użycia agregacji (kontener). ICalc ISimpleCalc Pwr() Sqrt()... Log() Add() Sub() Mul() Div() ISimpleCalc Add() Sub() Mul() Div() Extended calculator Simple calculator
5 Agregacja Wykorzystanie interfejsu innego komponentu przez agregację. IExtCalc ISimpleCalc Pwr() Sqrt()... Log() ISimpleCalc Add() Sub() Mul() Div() Extended calculator Simple calculator Obiekt zewnętrzny Obiekt wewnętrzny
6 Agregacja Aby obiekt wewnętrzny mógł poprawnie współpracować jako agregat z obiektem zewnętrznym, należy zwrócić uwagę na następujące kwestie: 1. QueryInterface() dla dowolnego interfejsu (ISimpleCalc, IExtCalc) powinno umożliwiać dostęp wszystkich interfejsów (przechodniość) 2. Niezależnie dla jakiego interfejsu wywołuje się QueryInterface(), metoda ta powinna zawsze zwrócić taki sam wskaźnik dla danego interfejsu. 3. Licznik odwołań powinien być wspólnie zarządzany dla obu komponentów.
7 Agregacja - obiekt wewnętrzny CreateInstance() Informacja o tym czy obiekt wewnętrzny uruchomiony został jako zwykły obiekt, czy jako agregat dostarczana jest w trakcie wywołania CreateInstance() obiektu class factory. HRESULT CreateInstance( LPUNKNOWN punkouter, REFIID riid, void** ppvobj ); Gdy komponent uruchomiono jako agregat innego komponentu, to parametr punkouter powinien zawierać wskaźnik do interfejsu IUnknown obiektu zewnętrznego (innym przypadku wskaźnik ten ma wartość NULL). Powinien on być zapamiętany przez klasę realizującą obiekt wewnętrzny, aby odpowiednio obsłużyć swoje metodę QueryInterface().
8 Agregacja - obiekt wewnętrzny CreateInstance() HRESULT stdcall CSimpleCalcClassFactory::CreateInstance( IUnknown *punkouter, REFIID riid, void **ppvobject ) { HRESULT hr; // if (punkouter!=null) // return E_NOAGREGATION; CSimpleCalc* psimplecalc = new CSimpleCalc(pUnkOuter); hr = psimplecalc->queryinterface(riid, ppvobject); if (FAILED(hr)) delete psimplecalc; return hr; CSimpleCalc:: CSimpleCalc(IUnknown* punknownouter) { m_punknownouter=punknownouter;
9 Agregacja - obiekt wewnętrzny QueryInterface() HRESULT stdcall CSimpleCalc::QueryInterface( REFIID riid, void **ppvobject) { HRESULT hr = S_OK; if (riid == IID_IUnknown) *ppvobject = (IUnknown*)(this); else if (riid == IID_ISimpleCalc) *ppvobject = (ISimpleCalc*)(this); else if (m_punkouter) hr= m_punkouter->queryinterface(riid,ppvobject); if (SUCCEEDED(hr)) ((IUnknown*)(*ppvObject))->AddRef(); return hr;
10 Agregacja - obiekt zewnętrzny AddRef(), Release() unsigned long stdcall CExtCalc::AddRef() { return punkinter->addref();; unsigned long stdcall CExtCalc::Release() { UINT refcount=punkinter->release(); if (refcount==0){ delete this; InterlockedDecrement( &g_nserverlockcount ); return 0; return refcount;
11 Agregacja - obiekt zewnętrzny CreateInstance() HRESULT stdcall CExtCalcClassFactory::CreateInstance( IUnknown *punkouter, REFIID riid, void **ppvobject ) { HRESULT hr; if (punkouter!=null) return E_NOAGREGATION; CExtCalc* pextcalc = new CExtCalc(); hr = pextcalc->init(); if (FAILED(hr)){ delete pextcalc; return hr; hr = pextcalc->queryinterface(riid, ppvobject); if (FAILED(hr)) delete pextcalc; return hr; HRESULT CExtCalc::Init() { return CoCreateInstance(CLSID_SimpleCalc, (IUnknown*)this, CLSCTX_INPROC_SERVER, IID_IUnknown, (void**)&m_punknowninner);
12 Agregacja - obiekt zewnętrzny QueryInterface() HRESULT CAggregator::QueryInterface(REFIID riid, void** ppv) { if(riid == IID_IUnknown) { *ppv = (IUnknown*)this; else if(riid == IID_IExtCalc) { *ppv = (IExtCalc*)this; else if(riid == IID_ISimpleCalc) { return m_punknowninner->queryinterface(riid, ppv); else { *ppv = NULL; return E_NOINTERFACE; AddRef(); return S_OK;
Droga do DCOM DCOM (1996) Windows clipboard (1987) OLE 1 DDE (1992) OLE 2 (1993) COM (1995) Distributed computing (1980s)
COM jako standard Droga do DCOM Windows clipboard (1987) OLE 1 DDE (1992) OLE 2 (1993) COM (1995) Distributed computing (1980s) Open Software Foundation Distributed Computing Environment Remote Procedure
//////////////////////////////////////////////////////////// // Kalkulator (prosty) - wersja agregowalna import "unknwn.idl";
/ Kalkulator (prosty) - wersja agregowalna import "unknwn.idl"; Interface ICalc uuid(892753ed-d14e-4d2f-b812-041e0c01f5f3), helpstring("kalkulator (prosty), wersja agregowalna"), interface ICalc : IUnknown
Henryk Budzisz. materiały przygotowane w ramach projektu ZPORR nr POKL.04.01.01-00-449/08-00
Henryk Budzisz ZPORR nr POKL.04.01.01-00-449/08-00 Koszalin 2009 Technologia COM Wprowadzenie COM Interfejsy Technologia COM w Visual C++ Globally Unique Identifiers (GUIDs) Biblioteka COM Tworzenie obiektu
Zdarzenia (events, connection points)
(events, connection points) Serwer komunikuje się z klientem za pomocą zgłoszenia zdarzenia. Pozwala to na asynchroniczną pracę serwera, który zgłasza zaistnienie określonego stanu za pomocą serii zdarzeń.
// LISTING #2 DRUGIE PODEJŚCIE
OD KLASY C++ DO SERWERA COM: PROGRAMY PRZYKŁADOWE DO WYKŁADU PROGRAMOWANIE SKŁADNIKOWE W MODELU COM OPRACOWANIE: JAROSŁAW FRANCIK LISTING #1 PIERWSZE PODEJŚCIE LISTING #2 DRUGIE PODEJŚCIE #include
4 bity zarezerwowane dla przyszłych zastosowań 11 bitów określających źródło błędu 16 bitów określających rodzaj błędu.
Zgłaszanie błędów HRESULT Każda metoda interfejsu COM zwraca informację o błędzie w postaci typu HRESULT (long int). Struktura reprezentacji bitowej HRESULT podzielona jest na 4 sekcje: 1 bit błędu 4 bity
// LISTING #2 DRUGIE PODEJŚCIE
OD KLASY C++ DO SERWERA COM: PROGRAMY PRZYKŁADOWE DO WYKŁADU PROGRAMOWANIE SKŁADNIKOWE W MODELU COM OPRACOWANIE: JAROSŁAW FRANCIK // LISTING #1 PIERWSZE PODEJŚCIE // LISTING #2 DRUGIE PODEJŚCIE #include
Obiekty w plikach wykonywalnych, marshaling
Obiekty w plikach wykonywalnych, marshaling Komponent w pliku exe Odczyt IClassFactory komponencie umieszczonym w pliku dll ładowanym w przestrzeń adresową klienta następuje poprzez wywołanie eksportowanej
1.1 Szkielet aplikacji
1.1 Szkielet aplikacji Poniżej przedstawiony jest szkielet aplikacji, na którym oparte są wszystkie programy pisane w ramach ćwiczeń. Główna klasa okna programu może być wyprowadzona z klasy TForm, tak
Structured storage, Monikers, Running Object Table
Structured storage, Monikers, Running Object Table Structured storage Structured storage jest sposobem zorganizowanego zapisywania danych w pliku. Struktura danych ma postać drzewa i obiektów danych podobną
Lista dwukierunkowa - przykład implementacji destruktorów
Lista dwukierunkowa - przykład implementacji destruktorów Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2006 2008 Bogdan Kreczmer Niniejszy dokument zawiera
Component Object Model laboratorium 2013 K.M. Ocetkiewicz, T. Goluch
Component Model laboratorium 2013 K.M. Ocetkiewicz, T. Goluch 1. Wstęp COM jest standardem tworzenia komponentów w systemie Windows. Standard ten jest binarny dotyczy skompilowanego kodu (a nie języka
Interfejs IUnknown. Każdy obiekt COM musi implementować interfejs IUnknown, który zawiera trzy metody:
Plan wykładu 1. Technologia COM (DCOM) wprowadzenie, korzystanie z obiektu COM, program klienta, schemat programu serwera. 2. Porównanie DCOM, CORBA i RMI. Wprowadzenie Opracowana przez Microsoft technologia
Technologie COM i ActiveX COM - Component Object Model
Technologie COM i COM - Component Object Model Jarosław Francik COM - Common Object Model Program - monolit Program składnikowy Składnik A Składnik B Składnik C Składnik D Składnik E Architektura składnikowa
Component Object Model laboratorium 2017 K.M. Ocetkiewicz, T. Goluch
Component Model laboratorium 2017 K.M. Ocetkiewicz, T. Goluch 1. Wstęp COM jest standardem tworzenia komponentów w systemie Windows. Standard ten jest binarny dotyczy skompilowanego kodu (a nie języka
Proxy (pełnomocnik) Cel: Zastosowanie: Dostarczyć zamiennik pewnego obiektu, pozwalający kontrolować dostęp do niego.
Proxy (pełnomocnik) Cel: Dostarczyć zamiennik pewnego obiektu, pozwalający kontrolować dostęp do niego. Zastosowanie: Wszędzie tam, gdzie oczekujemy bardziej zaawansowanego odwołania do obiektu, niż zwykły
Konstruktor kopiujacy
Konstruktor kopiujacy Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Niniejszy dokument zawiera materiały do wykładu na temat programowania obiektowego. Jest on udostępniony
Funkcje przeciążone, konstruktory kopiujące, argumenty domyślne
Funkcje przeciążone, konstruktory kopiujące, argumenty domyślne Przeciążenie funkcji polega na użyciu funkcji z tą samą nazwą, które mają różne listy argumentów(różne typy, różna ilość lub to i inne).
1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość
1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 2. Poprawna definicja wskażnika b to: a) float *a, **b = &a; b) float
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,
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,
wykład V uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C++ klasy i obiekty wykład V dr Jarosław Mederski Spis Język C++ - klasy
i obiekty Programowanie i obiekty uzupełnienie notatek: dr Jerzy Białkowski i obiekty 1 2 3 4 i obiekty Obiektowość języka C++ Na tym wykładzie poznamy: ˆ Klasa (w języku C++ rozszerzenie struktury, typ
Aplikacja webowa w Javie szybkie programowanie biznesowych aplikacji Spring Boot + Vaadin
Aplikacja webowa w Javie szybkie programowanie biznesowych aplikacji Spring Boot + Vaadin Czym jest Spring Boot? Spring Boot jest szkieletem aplikacji, opiera się o Spring Framework czyli Framework szeroko
Aplikacje internetowe i rozproszone - laboratorium
Aplikacje internetowe i rozproszone - laboratorium Enterprise JavaBeans (EJB) Celem tego zestawu ćwiczeń jest zapoznanie z technologią EJB w wersji 3.0, a w szczególności: implementacja komponentów sesyjnych,
Wykład 4: Klasy i Metody
Wykład 4: Klasy i Metody Klasa Podstawa języka. Każde pojęcie które chcemy opisać w języku musi być zawarte w definicji klasy. Klasa definiuje nowy typ danych, których wartościami są obiekty: klasa to
1.1. Kontrolki ActiveX. Kontrolki ActiveX. Technologia ActiveX. Technologia ActiveX. Technologia ActiveX. Technologia ActiveX.
1 Katedra Optoelektroniki i Systemów Elektronicznych 2 Kontrolki Oprogramowanie Systemów Elektronicznych Zagadnienia: Temat wykładu Kontrolki 1. Technologia 2. 3. Rejestrowanie kontrolek 4. Projektowanie
Zdalne uruchamianie obiektów COM
Zdalne uruchamianie obiektów COM Zdalne uruchamianie obiektów COM Obiekty COM nie wymagają szczególnej adaptacji, aby mogły być uruchamiane zdalnie. Komponent musi być zarejestrowany w systemie klienta
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,
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
Diagram stanów Laboratorium 9
Diagram stanów Laboratorium 9 Zofia Kruczkiewicz Zofia Kruczkiewicz lab_inp002017_9 1 Modelowanie zachowania obiektu za pomocą diagramu stanów. Opracowanie diagramu stanów dla obiektu wybranej klasy, reprezentującego
Programowanie obiektowe
Programowanie obiektowe Wykład 3: Tworzenie i usuwanie obiektów 3/10/2013 S.Deniziak: Programowanie obiektowe - Java 1 Deklaracje pól klasy class Klasa1 { int i; Klasa2 k = new Klasa2(); char c= x ; byte
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
Java. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak
Java język programowania obiektowego Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak 1 Język Java Język Java powstał w roku 1995 w firmie SUN Microsystems Java jest językiem: wysokiego
Builder (budowniczy) Cel: Przykład:
1/8 Builder (budowniczy) Cel: Oddzielenie konstruowania złożonego obiektu od jego reprezentacji, tak aby ten sam proces konstrukcji mógł tworzyć różne reprezentacje. Przykład: 2/8 abstract class TableBuilder
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
Zarządzanie pamięcią
System COM, aby mógł śledzić zmiany w alokacji pamięcią podczas wywołań, obsługuje pamięć niezależnie od Runtime Library (RT) C++ i korzysta ze sterty bieżącego procesu. Do obsługi pamięci COM, zdefiniowany
Zastosowanie słuchaczy zdarzeń wg
Zastosowanie słuchaczy zdarzeń wg https://docs.oracle.com/javaee/7/jeett.pdf Technologie internetowe 6 1. Obsługa zdarzeń typu valuechangelistener Rejestracja słuchaczy zdarzeń typu valuechangelistener
Składnia C++ Programowanie Obiektowe Mateusz Cicheński
Składnia C++ Programowanie Obiektowe Mateusz Cicheński Klasy i modyfikatory dostępu Przesłanianie metod Polimorfizm Wskaźniki Metody wirtualne Metody abstrakcyjne i interfejsy Konstruktory i destruktory
PARADYGMATY PROGRAMOWANIA Wykład 4
PARADYGMATY PROGRAMOWANIA Wykład 4 Metody wirtualne i polimorfizm Metoda wirualna - metoda używana w identyczny sposób w całej hierarchii klas. Wybór funkcji, którą należy wykonać po wywołaniu metody wirtualnej
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,
Bezstanowe komponenty sesyjne i zdarzenia zwrotne
Bezstanowe komponenty sesyjne i zdarzenia zwrotne 1. Zdarzenia zwrotne. klasy nasłuchujące, klasy nasłuchujące a dziedziczenie. 2. Bezstanowe komponenty sesyjne. interfejsy: bazowy, zdalny i lokalny, obiekty
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
Kurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016
Wykład 1 3 marca 2016 Słowa kluczowe języka Java abstract, break, case, catch, class, const, continue, default, do, else, enum, extends, final, finally, for, goto, if, implements, import, instanceof, interface,
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
DYNAMICZNE PRZYDZIELANIE PAMIECI
DYNAMICZNE PRZYDZIELANIE PAMIECI Pamięć komputera, dostępna dla programu, dzieli się na cztery obszary: kod programu, dane statyczne ( np. stałe i zmienne globalne programu), dane automatyczne zmienne
Kompilacja javac prog.java powoduje wyprodukowanie kilku plików o rozszerzeniu.class, m.in. Main.class wykonanie: java Main
Język obiektowy Wykład 13 Programowanie obiektowe z lotu ptaka, str 1 James Gosling, Mike Sheridan, Patrick Naughton Sun Microsystems 1995(20latmłodszyodC) C jest językiem proceduralnym Java jest językiem
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
Technologia Programowania 2016/2017 Wykład 5
Technologia Programowania 2016/2017 Wykład 5 Wzorce GoF Jakub Lemiesz Wzorce GoF Kreacyjne Builder Singleton Simple Factory Factory Method Abstract Factory Prototype Strukturalne Adapter Decorator Proxy
Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta 16.09.2006. Strona 1 z 26. Powrót. Full Screen. Zamknij.
Programowanie Sobera Jolanta 16.09.2006 Strona 1 z 26 1 Wprowadzenie do programowania 4 2 Pierwsza aplikacja 5 3 Typy danych 6 4 Operatory 9 Strona 2 z 26 5 Instrukcje sterujące 12 6 Podprogramy 15 7 Tablice
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
dr Artur Bartoszewski dr Artur Bartoszewski - Aplikacje mobilne - Wykład
dr Artur Bartoszewski 1 Intencje Intencje (obok Aktywności) są jednym z podstawowych komponentów z których zbudowane są aplikacje systemu Android. Są one odpowiedzialne przede wszystkim za obsługę rozkazów
Usługa TimerService ejbtimeout() @javax.ejb.timeout
TimerService i JNDI 1. Usługa TimerServiece, interfejsy TimedObject, TimerService, Timer, TimerHandle transakcje, zastosowanie usługi w komponentach EJB, cykl życia EJB, problemy. 2. Zasoby JNDI i wstrzykiwanie,
Dzisiejszy wykład. Klasa string. wersja prosta wersja ze zliczaniem odwołań. Wyjątki Specyfikator volatile Semafory
Dzisiejszy wykład Klasa string wersja prosta wersja ze zliczaniem odwołań Wyjątki Specyfikator volatile Semafory 1 Klasa string Przetwarzanie tekstów jest powszechną dziedziną zastosowań komputerów W języku
Obliczenia równoległe i rozproszone w JAVIE. Michał Kozłowski 30 listopada 2003
Obliczenia równoległe i rozproszone w JAVIE Michał Kozłowski 30 listopada 2003 Wątki w JAVIE Reprezentacja wątków jako obiektów Uruchamianie i zatrzymywanie wątków Realizacja wątków Ograniczenia Mechanizmy
Kurs WWW. Paweł Rajba. pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/
Paweł Rajba pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/ Spis treści Wprowadzenie Automatyczne ładowanie klas Składowe klasy, widoczność składowych Konstruktory i tworzenie obiektów Destruktory i
C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy INNE SPOSOBY INICJALIZACJI SKŁADOWYCH OBIEKTU
Inicjalizacja agregatowa zmiennej tablicowej int a[5] = 1,2,3,4,5 INNE SPOSOBY INICJALIZACJI SKŁADOWYCH OBIEKTU Struktury są również agregatami, dlatego: struct X double f; char c; X x1 = 1, 2.2, 'c' Ale
Listy powiązane zorientowane obiektowo
Listy powiązane zorientowane obiektowo Aby zilustrować potęgę polimorfizmu, przeanalizujmy zorientowaną obiektowo listę powiązaną. Jak zapewne wiesz, lista powiązana jest strukturą danych, zaprojektowaną
Programowanie komponentowe
Programowanie komponentowe Henryk Budzisz wersja 1.0 Koszalin 2006 Wprowadzenie Beans COM NET XML CORBA H.Budzisz Program wykładów Wprowadzenie Technologia JavaBeans Technologia CORBA Technologie COM/DCOM/COM+
2. Klasy cz. 2 - Konstruktor kopiujący. Pola tworzone statycznie i dynamicznie - Funkcje zaprzyjaźnione - Składowe statyczne
Tematyka wykładów 1. Wprowadzenie. Klasy cz. 1 - Język C++. Programowanie obiektowe - Klasy i obiekty - Budowa i deklaracja klasy. Prawa dostępu - Pola i funkcje składowe - Konstruktor i destruktor - Tworzenie
1 Atrybuty i metody klasowe
1 Atrybuty i metody klasowe Składowe klasowe (statyczne) Każdy obiekt klasy posiada własny zestaw atrybutów. Metody używają atrybutów odpowiedniego obiektu. Czasem potrzeba atrybutów wspólnych dla wszystkich
Technologia Programowania 2016/2017 Wykład 4
Technologia Programowania 2016/2017 Wykład 4 Wzorce projektowe GoF Jakub Lemiesz Wzorce GRASP a wzorce GoF Znamy 9 wzorców GRASP ogólne zasady Na GRASP opierają się klasyczne wzorce GoF Na wzorcach GoF
Kurs rozszerzony języka Python
Wykład 2. 13 października 2017 Plan wykładu Klasy i obiekty 1 Klasy i obiekty 2 3 4 Plan wykładu Klasy i obiekty 1 Klasy i obiekty 2 3 4 Deklaracja klasy Klasy i obiekty Przykłady class Figura: Pierwsza
Ćwiczenie 7 z Podstaw programowania. Język C++, programy pisane w nieobiektowym stylu programowania. Zofia Kruczkiewicz
Ćwiczenie 7 z Podstaw programowania. Język C++, programy pisane w nieobiektowym stylu programowania Zofia Kruczkiewicz Zakres Funkcje przetwarzające teksty (biblioteka ) - tworzenie własnych
Programowanie w języku C++
Programowanie w języku C++ Część dziewiąta Autor Roman Simiński Kontakt siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu, lektura tych materiałów nie zastąpi
Analiza i projektowanie obiektowe 2016/2017. Wykład 11: Zaawansowane wzorce projektowe (1)
Analiza i projektowanie obiektowe 2016/2017 Wykład 11: Zaawansowane wzorce projektowe (1) Jacek Marciniak Wydział Matematyki i Informatyki Uniwersytet im. Adama Mickiewicza 1 Plan wykładu 1. Wzorce projektowe
akademia androida Service, BroadcastReceiver, ContentProvider część IV
akademia androida Service, BroadcastReceiver, ContentProvider część IV agenda 1. BroadcastReceiver 2. Service 3. ContentProvider 4. Zadanie 1. 5. Zadanie 2 (domowe). 1. BroadcastReceiver BroadcastReceiver
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
Podstawy programowania obiektowego
Podstaw programowania obiektowego wkład 5 klas i obiekt namespace ConsoleApplication1 // współrzędne punktu int, ; Jak, korzstając z dotchczasowej wiedz, zdefiniować w programie punkt? = 3; = 2; Może tak?
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
Budowa aplikacji wielowarstwowych. Obsługa zdarzeń
Budowa aplikacji wielowarstwowych. Obsługa zdarzeń Laboratorium 6 Technologie internetowe Zofia Kruczkiewicz TINT_Lab_6, Zofia Kruczkiewicz 1 Wykaz pytań dotyczących materiału wykorzystanego w lab6, które
PROE wykład 2 operacje na wskaźnikach. dr inż. Jacek Naruniec
PROE wykład 2 operacje na wskaźnikach dr inż. Jacek Naruniec Zmienne automatyczne i dynamiczne Zmienne automatyczne: dotyczą kontekstu, po jego opuszczeniu są usuwane, łatwiejsze w zarządzaniu od zmiennych
Wykład 5: Więcej o Klasach i Metodach
Wykład 5: Więcej o Klasach i Metodach Przeciążanie Metod Klasa posiada dwie lub więcej metod o tej samej nazwie ale różnych deklaracjach parametrów. Java używa liczby i typów argumentów by ustalić którą
WYKŁAD 8. Funkcje i algorytmy rekurencyjne Proste przykłady. Programy: c3_1.c..., c3_6.c. Tomasz Zieliński
WYKŁAD 8 Funkcje i algorytmy rekurencyjne Proste przykłady Programy: c3_1.c..., c3_6.c Tomasz Zieliński METODY REKURENCYJNE (1) - program c3_1 ======================================================================================================
Fragmenty są wspierane od Androida 1.6
W androidzie można tworzyć dynamiczne interfejsy poprzez łączenie w moduły komponentów UI z aktywnościami. Moduły takie tworzy się za pomocą klasy Fragment, która zachowuje się jak zagnieżdżone aktywności
Podstawy programowania w języku C++
Podstawy programowania w języku C++ Część dziewiąta Tablice a zmienne wskaźnikowe Wersja skrócona, tylko C++ Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie
Java: kilka brakujących szczegółów i uniwersalna nadklasa Object
Java: kilka brakujących szczegółów i uniwersalna nadklasa Object Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak PLAN WYKŁADU Konstrukcja obiektów Niszczenie obiektów i zwalnianie zasobów
Współbieżność w środowisku Java
Współbieżność w środowisku Java Wątki i ich synchronizacja Zagadnienia Tworzenie wątków Stany wątków i ich zmiana Demony Synchronizacja wątków wzajemne wykluczanie oczekiwanie na zmiennych warunkowych
1 LINQ. Zaawansowane programowanie internetowe Instrukcja nr 1
1 LINQ 1 1. Cel zajęć Celem zajęć jest zapoznanie się z technologią LINQ oraz tworzeniem trójwarstwowej aplikacji internetowej. 2. Zadanie Proszę przygotować aplikację WWW, która: będzie pozwalała na generowanie
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 obiektowe i zdarzeniowe
Programowanie obiektowe i zdarzeniowe wkład 2 klas i obiekt namespace ConsoleApplication1 // współrzędne punktu int, ; Jak zdefiniować w programie punkt? = 3; = 2; Może tak? // wpisanie informacji Console.WriteLine("
Java. Wykład. Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ
Procesy i wątki Proces posiada samodzielne środowisko wykonawcze. Proces posiada własny zestaw podstawowych zasobów w czasie wykonywania; W szczególności, każdy proces ma własną przestrzeń pamięci. W uproszczeniu
Składnia C++ Programowanie Obiektowe Mateusz Cicheński
Składnia C++ Programowanie Obiektowe Mateusz Cicheński Klasy i modyfikatory dostępu Przesłanianie metod Polimorfizm Wskaźniki Metody wirtualne Metody abstrakcyjne i interfejsy Przeciążanie operatorów Słowo
Programowanie składnikowe. Programowanie składnikowe w modelu COM. COM - Component Object Model. wprowadzenie. Programowanie składnikowe
Programowanie składnikowe w modelu COM wprowadzenie Jarosław Francik COM - Component Object Model Programowanie składnikowe Programowanie składnikowe 1 Program - monolit 1 Program składnikowy Składnik
Programowanie obiektowe Wykład 6. Dariusz Wardowski. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/14
Dariusz Wardowski dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/14 Wirtualne destruktory class A int* a; A(int _a) a = new int(_a);} virtual ~A() delete a;} class B: public A double* b;
Diagramy maszyn stanowych, wzorce projektowe Wykład 5 część 1
Diagramy maszyn stanowych, wzorce projektowe Wykład 5 część 1 Zofia Kruczkiewicz Zofia Kruczkiewicz Inżynieria oprogramowania INEK011 1 Składnia elementów na diagramach UML 1. W prezentacji składni diagramów
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:
Wywoływanie metod zdalnych
Wywoływanie metod zdalnych model systemu Wywoływanie metod zdalnych aplikacja kliencka interfejs obiekt serwer Podejście obiektowe do budowy systemów rozproszonych proxy szkielet sieć Istota podejścia
Plik klasy. h deklaracje klas
Plik klasy. h deklaracje klas KLASY DLA PRZYKŁADÓW Z POLIMORFIZMEM enum dim r1 = 1, r2, r3; class figura public: static int const maxliczbafigur; = 100; static int liczbafigur; dim rn; rodzaj przestrzeni
PHP 5 język obiektowy
PHP 5 język obiektowy Wprowadzenie Klasa w PHP jest traktowana jak zbiór, rodzaj różnych typów danych. Stanowi przepis jak stworzyć konkretne obiekty (instancje klasy), jest definicją obiektów. Klasa reprezentuje
Wzorce Strukturalne. Adapter: opis. Tomasz Borzyszkowski
Adapter: opis Wzorce Strukturalne Tomasz Borzyszkowski Alternatywna nazwa: Wrapper (opakowanie) Rola obiektu Adapter: pełni wobec Klienta rolę otoczki, która umożliwia przetłumaczenie jego żądań na protokół
Wykład 7: Pakiety i Interfejsy
Wykład 7: Pakiety i Interfejsy Plik Źródłowy w Javie Składa się z: instrukcji pakietu (pojedyncza, opcjonalna) instrukcji importujących (wielokrotne, opcjonalne) deklaracji klasy publicznej (pojedyncza,
Współbieżność i równoległość w środowiskach obiektowych. Krzysztof Banaś Obliczenia równoległe 1
Współbieżność i równoległość w środowiskach obiektowych Krzysztof Banaś Obliczenia równoległe 1 Java Model współbieżności Javy opiera się na realizacji szeregu omawianych dotychczas elementów: zarządzanie
Programowanie komponentowe 5
Budowa warstwy klienta w architekturze typu klient-serwer zbudowanych z komponentów typu EE - klient desktopowy i internetowy. Zastosowanie komponentów opartych na technologii EJB 3.2. na podstawie https://docs.oracle.com/javaee/7/jeett.pdf
Wstęp do Programowania 2
Wstęp do Programowania 2 dr Bożena Woźna-Szcześniak bwozna@gmail.com Akademia im. Jana Długosza Wykład 5 W programowaniu obiektowym programista koncentruje się na obiektach. Zadaje sobie pytania typu:
Diagramy stanów tworzenie modeli analizy i projektowania Na podstawie UML 2.0 Tutorial
Diagramy stanów tworzenie modeli analizy i projektowania Na podstawie UML 2.0 Tutorial http://sparxsystems.com.au/resources/uml2_tutorial/ Zofia Kruczkiewicz Zofia Kruczkiewicz Projektowanie oprogramowania
Serwery Statefull i Stateless
Serwery Statefull i Stateless Wszystkie serwery aplikacji są określone jako stateless podczas projektowania. Te aplikacje nie przetrzymują stałego połączenia z klientem. Wysyłają one pakiety danych na
Programowanie w C++ Wykład 12. Katarzyna Grzelak. 28 maja K.Grzelak (Wykład 12) Programowanie w C++ 1 / 27
Programowanie w C++ Wykład 12 Katarzyna Grzelak 28 maja 2018 K.Grzelak (Wykład 12) Programowanie w C++ 1 / 27 Klasy cd K.Grzelak (Wykład 12) Programowanie w C++ 2 / 27 Klasy - powtórzenie Klasy typy definiowane
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
Laboratorium 1. Wzorce oprogramowania lab1, Zofia Kruczkiewicz
Aplikacja internetowa zbudowana w oparciu o środowisko Visual Web Java Server Faces. Zarządzanie obiektami typu SesionBeans, RequestBeen i ApplicationBeans, Laboratorium 1 Wzorce oprogramowania lab1, Okres
Diagramy maszyn stanowych, wzorce projektowe Wykład 5 część 1
Diagramy maszyn stanowych, wzorce projektowe Wykład 5 część 1 Zofia Kruczkiewicz Zofia Kruczkiewicz Inżynieria oprogramowania INEK011 1 Diagramy maszyn stanowych, wzorce projektowe 1. Modelowanie zachowania