Extremely Rough Overview

Slides:



Advertisements
Liknande presentationer
Interface.  Interface är en datatyp och har alltså egen syntax och en hel del egna regler för vad arv från interface innebär.  Interface är renodlad.
Advertisements

Klasser och objekt.
”Ett sätt att distribuera Business Objects via webben”
Algoritmer och data strukturer -Länkade listor
Programmeringsteknik
Next previous Internetprogrammering 2000 Internetprogrammering 2000 Föreläsning 10 Distribuerad programmering med Javas RMI, Remote Method Invocation.
Fortsättningskurs i Programmering lektion 6
OOP Objekt-orienterad programmering
Föreläsning 1.
Metoder i java Det finns två typer av metoder i java
Objektorienterad tänkande
Polymorfism.
Programmeringsteknik för K och Media
1 ITK:P1 Föreläsning 4 Grafiska gränssnitt och händelsehantering DSV Peter Mozelius.
1 Föreläsning 8 Grafik AWT. 2 Grafik Frame använder man för att skapa ett fönster Button använder man om man vill ha en knapp att trycka på Canvas är.
i olika programmeringsspråk
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 7 ( ) INNEHÅLL: -Klasser och instansvariabler -Tabeller av klassobjekt.
Objektorienterad programmering i Java
OOP F4:1 Marie Olsson OOP Objekt-orienterad programmering Föreläsning 4 Metoder klass-metoder instans-metoder.
Sid period2CD5250 OOP med C++ Mats Medin MDH/IDT C++ - förbättrat C?  Procedurellt program ser ut som C: sekvens, selektion, iteration  /* kommentar.
Sid 1 CD5250 OOP med C++ Daniel Flemström MDH/IDT CD5250 OOP med C++
Sid 1 CD5250 OOP med C++ Daniel Flemström MDH/IDT Lite OOA/OOD.
int res2=Math.max(tal1,tal2);
Next previous CORBA: vad, varför, hur? Innehåll Datornätverk Behov och krav CORBA Historik, principer, arkitektur och beståndsdelar Exempel i Java Internetprogrammering.
Föreläsning 8, kapitel 8 Förbättra strukturen med arv Kursbok: “Objects First with Java - A Practical Introduction using BlueJ”, David J. Barnes & Michael.
Vektorer (klassen Vector) Sortering
Mer om arv - Polymorfism Kursbok: “Objects First with Java - A Practical Introduction using BlueJ”, David J. Barnes & Michael Kölling Fredric Ragnar
Class Mängdhantering BIM Produktions kalkyl Affärssystem Fakturor Arbets- kostnad Material kostnad Framdrift i projektet Bearbetning av mängder Produktions.
Arv.
Programmeringsteknik för Media1 & K1
1. En infrastruktur för programutveckling
1 Windows programmering Programmering med Threads Borland C++ Builder 4 Modsoft Ab Kent Westerholm.
Föreläsning 5, Kapitel 5 Använda Java-bibliotek för att få avancerad funktionalitet Kursbok: “Objects First with Java - A Practical Introduction using.
Riktade listor i C och Java Lösning till gruppövning 1.
1 Föreläsning 6 Programmeringsteknik och Matlab 2D1312/2D1305 Metoder & parametrar Array API och klassen ArrayList.
Föreläsning 6. Klassmallar Templates kan givetvis även användas för klasser –Standardutseende template // Klassdefinition (*.h) class C { returtyp metod(parametrar…);...
Next previous RMI, Remote Method Invocation Om du har boken av Marty Hall, läs avsnitt 15.8 För fler exempel se:
Föreläsning 1 Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
Föreläsning 5 Arrayer & ArrayList Hur man använder API:n
Föreläsning 8 Programmeringsteknik och Matlab DD1312 Klassmetoder Egen modul, Self Metoderna: __str__, __lt__,… Meddelande Arv, Överlagring av metoder,
Microsoft Visual Studio och.NET Framework, idag och imorgon! Robert Folkesson
Föreläsning 9 Gränssnitt. Super Super kan användas till anrop av en omdefinierad metod Super kan användas till anrop av konstruktorer i superklassen Super.
Föreläsning 1. Innehåll Introduktion till objektorientering –OOP (objektorienterad programmering) –Objekt, instanser, klasser C++ –OO i C++ –Standardbibliotek.
Sid 1 CD5250 Daniel Flemström MDH/IDT COM Extremely Rough Overview.
Föreläsning 13 Appletprogram/fristående grafiska program Arv Rita linjer, rektanglar mm Skriva text, byta färg Appletprogram & HTML Grafiska användargränssnitt.
Programmeringsteknik Föreläsning 8 Skolan för Datavetenskap och kommunikation.
Föreläsning 7 Programmeringsteknik och Matlab DD1315 Kommandotolk parametrar Klass Instans Metod konstruktor.
Föreläsning 9 Arv kap 8.1 Interface kap 9.2 Grafiska användargränssnitt (GUI) kap 10.
1 Föreläsning 8 Mer om klasser och objektorientering.
Programmering i C# Laborationer.
7. Delegerare och notifierare
Objekt, Klass och Instans Analys av systemet ger mer eller mindre detaljerade objekt Objekten sorteras och klass-diagram ritas upp där relationer reds.
Bibliotek
Programmeringsteknik för K och Media
Föreläsning 7 programmeringsteknik och Matlab 2D1312/2D1305 Metoddeklaration och parametrar Arrayer och ArrayList.
Programmering i.NET Farid Naisan, Universitetsadjunkt Datavetenskap, Teknik och samhälle, Malmö högskola Assembly.
1 Föreläsning 4 Metoder & parametrar Array API och klassen ArrayList.
OOP&M - teori1 OOP del II– Föreläsning 2 vecka 46 Konstruktorer Instansmetoder Kapitel 14 i kursboken.
C++ som ett bättre C Sid 1 6/23/2015CD5250 OOP med C++ Mats Medin MDH/IDT C++ kurs CD5250, vårterminen 2000 Lärare: Mats Medin,
1-1 Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1-1 Programmering 7.5 hp Programmering är... creativ, fascinerande, roligt,
Överlagring av operatorer, friends, user-defined conversions, klassmallar sid. 1 6/29/2015 CD5250 OOP med C++ Mats Medin MDH/IDT Överlagring av operatorer.
Objektbaserad programmering sid. 1 6/30/2015CD5250 OOP med C++ Mats Medin MDH/IDT Objektbaserad programmering –Grundläggande om klasser och objekt – (Arv.
OOP&M - teori1 OOPM del II– Föreläsning vecka Mer om ärvning.. Abstrakta klasser/metoder Gränssnitt/Interface klasser.
Objektorienterad programmering sid. 1 7/15/2015 CD5250 OOP med C++ Mats Medin MDH/IDT Objektorienterad programmering OOP = objektbaserad programmering.
Lab Contact 1  Lab Assistants:  Meng Liu, Group B  Sara Abbaspour, Group A
Gruppövning Applikationsprogramering Klassuppdelning Loose Coupling Model View Controller Inversion of Control Layout med Swing JSplitPane Mouse-over Events.
Detaljer i exception-hantering
Objektorienterad programmering forts
RMI Av: Josefina & Sarah DS04.
Genomgång av Automation Builder
Presentationens avskrift:

Extremely Rough Overview COM Extremely Rough Overview CD5250 Daniel Flemström MDH/IDT

Traditional VS COM Apps COM Application Monolithic Application COM Definierar hur pusselbitarna skall se ut. Resultatet blir språkoberoende pusselbitar(COM) objekt. COM komponent skriven i VB kan användas ifrån C++ ! CD5250 Daniel Flemström MDH/IDT

COM Component Object Model IUnknown IDL – Interface Definition Language Registrera din komponent Ckula = KULA.DLL class Ckula { HRESULT Do(); HRESULT Yl(); ... }; HRESULT Ckula::Do() { } HRESULT Ckula::Yl() { . Win32 Registry Kula.h Kula.cpp cFact.cpp Kula.idl KULA.DLL CD5250 Daniel Flemström MDH/IDT

Använda COM WIN32 Registry COM bibliotek En databas för att mappa klassID mot DLL tex. Innehåller information om ID och namn på klasser och interface. COM bibliotek Slår upp klassid och vet hur man skapar objekt av aktuell klass(oberoende vilket programspråk objektet är skrivet i). CoCreateInstance(klassID) istället för new ATL En samling templates för att underlätta utveckling och användning av COM komponenter. CD5250 Daniel Flemström MDH/IDT

IUnknown QueryInterface(IID& iid,void** ppIface); Addref/ Release Istället För dynamic_cast Interface ID istället för typ Addref/ Release IUnknown Kalle IDraw IKalle IUnknown ... IBoll OlleBoll IBoll ... CD5250 Daniel Flemström MDH/IDT

Skapa en instans av ett COM objekt #include ”BOLL.H” IBoll* pBoll; pBoll = new CBoll(); pBoll->Do(); #import ”C:\blabla\BOLL.DLL” CComPtr<IBoll> pBoll; pBoll.CoCreateInstance(L”myProj.Boll”); HRESULT hr; hr = pBoll->Do(); if(SUCCEEDED(hr)) . . . CComQIPtr<IDraw> pD(pBoll); // Gör QueryInterface hr = pD->Erase(); CD5250 Daniel Flemström MDH/IDT

Skapa ett ActiveX Projekt ATL COM Appwizard CD5250 Daniel Flemström MDH/IDT

Vad har hänt KULA.DLL CD5250 Daniel Flemström MDH/IDT

”Skriva” ett COM objekt Antal Färdiga Skelett Finns: Insert | New ATL Object: CD5250 Daniel Flemström MDH/IDT

ATL Object Wizard CD5250 Daniel Flemström MDH/IDT

Vad Hände ? CD5250 Daniel Flemström MDH/IDT

Vad Hände? CD5250 Daniel Flemström MDH/IDT

Vad Hände ? QueryInterface CD5250 Daniel Flemström MDH/IDT

Vad Hände ? IDL beskrivning av vår klass CD5250 Daniel Flemström MDH/IDT

Lägga Till Events Högermus | Events CD5250 Daniel Flemström MDH/IDT

Event Handler LRESULT OnClickedButton1(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled) { // TODO : Add Code for control notification handler. return 0; } CD5250 Daniel Flemström MDH/IDT

Lägga till Metoder och Properties Högerklicka på interface symbolen CD5250 Daniel Flemström MDH/IDT

ADD Method CD5250 Daniel Flemström MDH/IDT

ADD Property CD5250 Daniel Flemström MDH/IDT

Vad Hände? CD5250 Daniel Flemström MDH/IDT

Använda ATLControls.h Hitta ATLControls.h #include <ATLControls.h> using namespace ATLControls; .. CListBox list(GetDlgItem(IDC_LIST1)); list.ResetContent(); List.AddString(“Kalle”); CComBSTR m_str; GetDlgItemText(IDC_EDIT1, strDayLeap.m_str); CD5250 Daniel Flemström MDH/IDT

Vad mer bör man kunna? CComPtr<> CComQIPtr<> CComVariant CComBSTR USING_CONVERSION W2CT och så vidare CD5250 Daniel Flemström MDH/IDT