Sid 1 2000-period2CD5250 OOP med C++ Mats Medin MDH/IDT Multipelt arv Drawable draw() move() position bitmap Persistent save() restore() storage_file_name.

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

OOP Objekt-orienterad programmering
Lennart Edblom, Frank Drewes, Inst. f. datavetenskap 1 Föreläsning 10: Objektorientering Objektorientering och abstrakta datatyper Dynamisk bindning.
ObjektOrienterad analys och design. SVP Vt2009 Föreläsning nr 2, måndag 8 april kl Diskussion (kurshemsida): Om designuppgiften Om projektuppgiften.
Metoder i java Det finns två typer av metoder i java
Arv.
Abstract & sealed.
Inkapsling.
Polymorfism.
Metoder.
Programmeringsteknik för K och Media
1 Föreläsning 6 Klass Object, instans av klass public/private Klassvariabler och klassmetoder.
Sid period2CD5250 OOP med C++ Mats Medin MDH/IDT Objektbaserad programmering –Grundläggande om klasser och objekt – (Arv får vänta)  Iden med klasser.
Sid period2CD5250 OOP med C++ Mats Medin MDH/IDT Konstruktor Ser till att objektets data är korrekt initierade MinKlass::MinKlass(); MinKlass::MinKlass(int.
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++
PROCESSPROGRAMMERING
Sid 1 CD5250 OOP med C++ Daniel Flemström MDH/IDT Lite OOA/OOD.
Föreläsning 5. Problemet Vi har sett att vi kan ersätta de metoder vi ärver från överklassen med egen funktionalitet (polymorfism) class Bil : public.
Sid 41 Fordon int antalhjul; int vikt;
int res2=Math.max(tal1,tal2);
4. Arv och dynamisk bindning
Föreläsning 4. Arv – bakgrund (kap. 9) Hund pälsfärg favoritben smutsa_ned() ät_katt() Katt pälsfärg smutsa_ned() klös_soffa() Kanin pälsfärg slaktvikt.
Mer om arv - Polymorfism Kursbok: “Objects First with Java - A Practical Introduction using BlueJ”, David J. Barnes & Michael Kölling Fredric Ragnar
Programmering i C# 5. Structer.
Arv.
Programmeringsteknik för Media1 & K1
Sid period2CD5250 OOP med C++ Mats Medin MDH/IDT Generiska algoritmer Kan användas på containertyper och arrays Använder iteratorer Implementerar.
F. Drewes, Inst. f. datavetenskap1 Föreläsning 10: Objektorientering Objektorientering och abstrakta datatyper Dynamisk bindning Singel mot multipelt.
OOP F6:1 Stefan Möller OOP Objekt-orienterad programmering Föreläsning 6 Mer om klasser och objekt Hantera många objekt ArrayList toString() – metoden.
Föreläsning 8 Arv och abstrakta klasser. Arv Definierar en klass utifrån en redan existerande klass Den nya klassen utökar den ärvda klassen ( extends.
Riktade listor i C och Java Lösning till gruppövning 1.
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 12 Om slutprovet. Repetition –deklaration av variabler –skapande av objekt (instansiering) –Vektorer och Vector-klassen –Klasser –Instans-/klassvariabler.
Sid 1 CD5250 Daniel Flemström MDH/IDT COM Extremely Rough Overview.
Sid period2CD5250 OOP med C++ Daniel Flemström MDH/IDT Abstrakta Containertyper Vilka finns fördefinierade? Vad kan dom? #pragma warning(disable:4786)
1. Ett problem/uppgift.
ITK:P1 Föreläsning 2 Introduktion till objektorientering DSV Marie Olsson.
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.
Objektorienterad programmering
Sid period2CD5250 OOP med C++ Mats Medin MDH/IDT Lite OOA/OOD.
Föreläsning 2. Allmänt STL genererar varningar i Visual C++ –”#pragma warning (disable : 4786)”
Föreläsning 9 Arv kap 8.1 Interface kap 9.2 Grafiska användargränssnitt (GUI) kap 10.
Sid period2CD5250 OOP med C++ Mats Medin MDH/IDT Undantag - eng. Exceptions Viktig del av klassbiblioteksdesign “Hoppa direkt ut med felkod” class.
Sid period2CD5250 OOP med C++ Mats Medin MDH/IDT Abstrakta Containertyper Vilka finns fördefinierade? Vad kan dom?
Arv repetition Arv = Är relation Tillgänglighet public, protected och private. Överklass ös Direkt härledd underklass dhu: Class dhu : public ös{} Indirekt.
7. Delegerare och notifierare
Föreläsning 17 Repetition. Källkodsformat Unicode används åäöμψζ tillåtna i namn på identifierare Inte alla miljöer klarar av det Källkod Bytekod Java.
OOP F5:1 Stefan Möller OOP Objekt-orienterad programmering Föreläsning 5 Klasser och objekt Skapa objekt - new Referenser Konstruktorer Inkapsling.
Programmeringsteknik
Föreläsning 5 Objekt Klasser Konstruktorer Metoder Minnesbilder av objekt.
Programmeringsteknik för K och Media
Sid period2CD5250 OOP med C++ Mats Medin MDH/IDT Funktionsmall template void myfunc(Type * arr, int n) { // kod; // objekt av typ Type kan deklareras.
Sid period2CD5250 OOP med C++ Mats Medin MDH/IDT Konstanter float pi; const float pi = ; float *pip = π //Kompileringsfel! const float.
OOP - teori1 OOP del II– Föreläsning 5 vecka 6. OOP - teori2 Klasser Substantiv i singularis stavat med stor bokstav till exempel Human Dog Account Circle.
OOP&M - teori1 OOP del II– Föreläsning 2 vecka 46 Konstruktorer Instansmetoder Kapitel 14 i kursboken.
OOP&M - teori1 OOP&M del II– Föreläsning 5 vecka 50 OBJEKT Substantiv i singularis stavat med stor bokstav till exempel Human Dog Account Circle Book String.
Ö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.
OOP&M - teori1 OOPM del II – Föreläsning vecka Abstrakta klasser/metoder igen Gränssnitt/Interface klasser igen tillämpat.
Objektorienterad programmering sid. 1 7/15/2015 CD5250 OOP med C++ Mats Medin MDH/IDT Objektorienterad programmering OOP = objektbaserad programmering.
OOP&M - teori1 OOP2– Föreläsning vecka 0507 OBJEKT Mer om ärvning... Paket...
TDP004 Objektorienterad Programmering Fö 2 Objektorientering grunder.
TDP004 Objektorienterad Programmering Fö 4 Strömmar.
TDP004 Objektorienterad Programmering Fö 6 Objektorientering forts.
TDP004 Objektorienterad Programmering Fö 8 Sammanfattning
Detaljer i exception-hantering
Objektorienterad programmering forts
Föreläsning 9: Arv och UML
Presentationens avskrift:

Sid period2CD5250 OOP med C++ Mats Medin MDH/IDT Multipelt arv Drawable draw() move() position bitmap Persistent save() restore() storage_file_name object_id Box length width Circle center radius Line end_a end_b Persistent_drawable

Sid period2CD5250 OOP med C++ Mats Medin MDH/IDT Multipelt arv: iostream istream ostream iostream ifstream ofstream fstream class ostream : public ios ios format_state condition_state locale streambuf gcountxxx yyy class iostream : public istream, public ostream class istream : public ios (inte riktigt rätt)

Sid period2CD5250 OOP med C++ Mats Medin MDH/IDT över- klass- delen från ios format_state condition_state locale streambuf gcount istreams “egen” underklassbit format_state condition_state locale streambuf xxx över- klass- delen från ios ostreams “egen” underklassbit istream object ostream object iostream object ??? format_state condition_state locale streambuf gcount format_state condition_state locale streambuf xxx yyy från ostream från istream iostreams “egen” underklassbit Kompileringsfel - dock endast vid försök att accessa de dubblerade delarna!

Sid period2CD5250 OOP med C++ Mats Medin MDH/IDT Multipelt arv: iostream istream ostream iostream ifstream ofstream fstream class ostream : virtual public ios ios format_state condition_state locale streambuf gcountxxx yyy class iostream : public istream, public ostream class istream : virtual public ios med virtual inheritance

Sid period2CD5250 OOP med C++ Mats Medin MDH/IDT Virtual inheritance iostream object format_state condition_state locale streambuf gcount xxx yyy iostreams “egen” underklassbit en enda ios-bit! från istream från ostream virtuell basklass

Sid period2CD5250 OOP med C++ Mats Medin MDH/IDT Konstruktor-destruktor och arv När ett objekt skapas sker följande: 1. Konstruktorn för ev. överklass anropas alltid först. 2. Konstruktorerna för den aktuella klassens datamedlemmar anropas 3. Satserna i den aktuella klassens konstruktor exekveras. När ett objekt tas bort sker följande: 1. Satserna i den aktuella klassens destruktor exekveras. 2. Destruktorerna för den aktuella klassens datamedlemmar anropas 3. Destruktorn för ev. överklass anropas. i deriveringslistans turordning baklänges enligt deriveringslistans turordning multipelt