Objekter og klasser Rasmus D. Lehrmann DM67 2010.

Slides:



Advertisements
Lignende præsentationer
Mapning af 1 til mange forbindelser
Advertisements

Hvordan programmerer man?? STREAM - en model. Programmører arbejder ofte i teams Hver programmør arbejder på sin del af en større helhed.
Mapning af klasser til relationer
Velkommen til Softwarekonstruktion
Programmeringsparadigmer.
07 – Kort om OO Introduktion.
1 Intro nedarvning (eng.: inheritance) Nedarvningshierarkier Intro polymorfisme (eng.: polymorphism) Abstract / virtual / override / sealed Intro interfaces.
Indledende Programmering Uge 2 - Efterår 2006 Selektioner og interaktion mellem objekter Susanne Brix Lindros.
KONCEPT Klasser og objekter En klasse beskriver et World ArrayList
Programmeringsteknologi: Lektion 1
Distribueret programmering, specielt.NET Remoting Rasmus D. Lehrmann DM
Object-Orienteret Programmering og Design. 2 Nordjyllands Erhvervakademi – 2009 Indhold “Classes, objects and object-oriented programming (OOP) play a.
Array vs. ArrayList. Arrays Et array er en struktureret metode til at gemme flere værdier af den samme datatype. Data’en i et array ligger op ad hinanden.
Selve objektet versus referencen til objektet Nedarvning
Informationsteknologi B-A, HHX, 2005,
Objektorienteret programmering
08 – Mere OO Indkapsling Arv og polymorfi (OOP’s 3 hovedprincipper)
09 – Arv og polymorfi i java
Hvordan man skriver koden.
VOOP, 8 april Refleksion i objekt orienterede programmeringssprog Mandag 8/ Kasper Østerbye.
Mapning af 1 til mange forbindelser
Masterpages/Otto Knudsen 1 Master Pages Master Pages i ASP.NET 2.0.
Arv Idéen i arv et at kunne genbruge gennem generalisering
Objektorienteret programmering
18 – Java Server Faces. 2 NOEA2009Java-kursus – JSF 2 Web-applikationer - 1 Brugere interagerer med en Web-browser Browseren sender forespørgsler til.
Delphi og C++ Builder C++ Referencer og pointere.
Datastrukturer og Collections Rasmus D. Lehrmann DM
MMP Model og Metode til Programudvikling – MMP 1 Kursusindhold: Modellering af postkontor Objekt Orienteret Programudvikling - OO* Unified Modelling.
FEN NOEA/IT Programmeringsteknologi 1 Arv og polymorfi Substitutionsprincippet Abstrakte klasser Design Patterns (Composite)
XML Rasmus D. Lehrmann DM Indhold Hvad er XML? XML standarder Hvor bruges XML? XML struktur Træ struktur Element & Attribute Syntaks i XML Stylesheets.
Grundlæggende elementer i UML
Forelæsning 3.1 Collections Javas for-each løkke
Fundamentale datastrukturer
Mønstre En lille introduktion. Singleton Tilgå et objekt igennem klassereference i stedet for objektreference.  Overflødiggør referencer til objektet.
Eksempel på realisering af domænemodel
GP 8, 24/ Grundlæggende programmering Efterår 2001 Forelæsning 8 onsdag 24/ kl. 9:15 – 12:00.
1 Grafalgoritmer I. 2 Plan Grafer - definition - anvendelser - terminologi - eksempler på grafproblemer Grafgennemgang - dybde-først-gennemgang - bredde-først-gennemgang.
1 Fundamentale datastrukturer. 2 Definitioner: abstrakt datatype, datastruktur Elementære datastrukturer og abstrakte datatyper : arrays, stakke, køer,
Repetition: Introduktion til OOP med C# og .NET
1 Kursusafslutning. 2 Plan Opgaveseminar Kursusevaluering.
Comparable Students German Students Composite Pattern State Pattern Observer Pattern Collections Interfaces Abstrakte klasser Design Patterns.
8 RÅD VEDRØRENDE GOD PROGRAMMERING Effective (brown) Java.
FEN IntroJava AAU1 Klasser og objekter Grundbegreber Student-Course.
Forelæsning 2.2 Tilstand og opførsel (repetition)
KF04 GRAY Item 2, 12, 22, 32, 42, 52. Consider a builder when faced with many constructor parameters Item 2.
Database.
FEN NOEA - Nordjyllands Erhvervsakademi1 Objektorienteret programmering Indkapsling Arv og polymorfi (OOP’s 3 hovedprincipper)
Begreber og Redskaber 4. Plan for idag Om metoder, parametre, returværdier Et par ord om objekt-orientering Håndkøring af programmer.
Begreber og Redskaber 3. Plan for idag Om metoder, parametre, returværdier Overblik over klasser,objekter,nedarvning Et par ord om objekt-orientering.
 Jens Bennedsen 2001Multimedie programmering10A.1 Polymorfi og nedarvning Motivation for arv og “mange former”
DAIMIIntroducerende objektorienteret programmering4B.1 Typer og tilstand i Java Typer, tilstand, erklæring, variable, primitive datatyper, reference- og.
Klasser og objekter. dIntProg, E08Klasser og objekter.2 Grundbegreber Klasser og objekter –beskrivelse –oprettelse Attributter og metoder –tilstand –opførsel.
DAIMIIntroducerende objektorienteret programmering3B.1 Definition af klasser Klasseskelet, metoder, et eksempel: dato.
DAIMIIntroducerende objektorienteret programmeringkd.1 Definition af klasser Klasseskelet, metoder, et eksempel: dato.
 Henrik Bærbak, 2000Introducerende objektorienteret programmering11B.1 Destilleret UML Oversættelse fra UML til Java.
DAIMIIntroducerende objektorienteret programmering4B.1 Grundlæggende og Reference Typer i Java Typer, tilstand, erklæring, reference- og værdi semantik,
Klassehierarkier Specialisering vha. subklasser. dIntProg, E05Klassehierarkier.2 Oversigt Eksempler på specialisering –Aktør, Koreograf, Skuespiller,
Indledende Programmering Uge 6 - Efterår 2006
Interfaces Afkobling af programkomponenter (eksempel: Comparable)
Polymorfi Abstrakte klasser, substitutionsprincippet, statisk og dynamisk type.
Klasser og objekter – grundbegreber.  Michael E. Caspersen, 2001Introducerende objektorienteret programmeringKlasser og objekter.2 Klasser og objekter.
Jesper Mosegaard Multimedie Programmering E2003 MMProg uge46 Ancestor.
 Jens Bennedsen 2001Multimedie programmering4.1 Definition af begreber Interface, implements, klasse.
 Jens Bennedsen 2001Multimedie programmering3A.1 Definition af klasser Klasseskelet, metoder, et eksempel: dato.
Klasser og objekter. dIntProg, F08Klasser og objekter.2 Grundbegreber Klasser og objekter –beskrivelse –oprettelse Attributter og metoder –tilstand –opførsel.
Jesper Mosegaard Multimedie Programmering E2003 MMProg uge44 Java til Lingo Klasser, statements og lister.
DAIMI, AUIntroducerende objektorienteret programmering11A.1 Destilleret UML Oversættelse fra UML til Java.
Objecter Introduktion Webintegrator HF1 PHP Object orienteret.
Klasser og objekter (Afsnit i manualen).
Programmering.
Præsentationens transcript:

Objekter og klasser Rasmus D. Lehrmann DM67 2010

Indhold Hvad er et objekt? Hvad er en klasse? Attributter Metoder Konstruktør Klasse opbygning Metode opbygning Nedarvning UML nedarvning Abstrakt klasse Singleton Composite pattern Observer Opsummering

Hvad er et objekt? Tilbyder en række metoder Indeholder utilgængeligt data Informationen kan tilgås igennem metoderne Objekter er dynamiske, og eksisterer kun i runtime.

Definition af objekt En repræsentation af et koncept fra virkeligheden, realiseret vha. data knyttet til dette koncept samt en række funktioner gennem hvilke objektet kan ændre eller aflæse egne data

Hvad er en klasse? Definerer indholdet af: objekter metoder variabler Klasser er statiske, eksisterer kun i compileren

Definition af klasse En type, som definerer de data og funktioner der er nødvendige for at beskrive en gruppe af objekter som alle repræsenterer samme koncept fra virkeligheden

Attributter Attributterne definerer de data vi ønsker at registrere. Attributterne defineres i klassen, og bliver tildelt en konkret værdi i objekterne Eks på en konto attributter Kontonummer, saldo

Metoder Metoder tilføjes til et objektet fra klassen for at give det funktionalitet. Et metode kald kan få objektet til at ændre tilstand: UdskrivKontoer(), Indset(…) osv

Konstruktør Konstruktøren er en bestemt metode, som skal have samme navn som klassen. Konstruktørens opgave er at initialisere objektet under oprettelse. public CtrSaldo() { Kontoer = new ArrayList(); } New opretter objektet i hukommelsen

Klasse opbygning En klasse opbygges efter en skabelonen: class Klassenavn { dataerklæringer constructors properties metoder } Dataerklæringer = private ArrayList Kontoer; Constructors = public CtrSaldo() { Kontoer = new ArrayList(); }

Metode opbygning En Metode opbygges efter en skabelonen: accessmodifier returtype Metodenavn (parameterliste) { sætninger } public int SumAfToHeltal (int tal1, int tal2) { int sum; sum = tal1 + tal2; return sum; }

Nedarvning Metoder kan nedarves fra andre klasser C# arver fra Object klassen Kodegenbrug Videreudvikling Klassen der arver kaldes Superklasse Klassen der arves fra kaldes Subklasser

UML nedarvning Unified Modeling Language UML = Unified Modeling Language

Abstrakt klasse Indeholder ikke definerede metoder Kan ikke oprette objekter Abstrakte metoder arvet til andre klasser skal redefineres Abstrakt metode definerer funktionalitet Ikke implementeret

Singleton Initialisering af objekter i begrænset mængder Øget funktionalitet da overflødige objekter ikke bliver oprettet Singleton = Sikre en klasse har kun ét tilfælde, og giver en samlet indgang til det.

Composite pattern Gør det muligt at behandle en række objekter som en instans af et objekt Anvendes ved gentagelse af den samme kode eller funktion I software engineering, den sammensatte mønster er en opdeling design mønster. Composite giver en gruppe af objekter, der skal behandles på samme måde som en enkelt forekomst af et objekt. Hensigten med sammensatte er at "komponere" objekter i træ strukturer til at repræsentere en del-helhed hierarkier. Composite lader kunder behandle individuelle objekter og kompositioner ensartet multipel

Observer Observer pattern bruges til at se efter tilstands ændringer, og informerer sine pårørende Subject: Holder øje med ændringer og hvem den skal informer om disse ændringer Observer: Er et objekt der bliver informeret om ændringer

Opsummering Objekter og klasser Hvad et objekt er Hvad en klasse er Hvordan et program er opbygget Dette giver os muligheden for at opbygger et c-sharp program efter de grammatiske regler der findes i c-sharp