Videregående Programmering for Diplom-E Noter

Størrelse: px
Starte visningen fra side:

Download "Videregående Programmering for Diplom-E Noter"

Transkript

1 Videregående Programmering for Diplom-E Noter 1. Uddelegering Ét af de væsentlige principper i objektorienteret programmering er, at enhver klasse selv skal kunne "klare ærterne". Enhver klasse skal altså have metoder til alle typiske opgaver. Et eksempel på dette er funktionen 'vis', der udskriver værdien af attributterne på skærmen. I bil/person/elev-eksemplet ser dette sådan ud: bil person vis vis elev vis Klassen 'bil', 'person' og 'elev' har hver sin vis-funktion. Men for at kunne virke, må disse visfunktioner "samarbejde". F.eks. må vis-funktionen i klassen 'person' overlade en del af sit arbejde til vis-funktionen i klassen 'bil' - nemlig den del der går ud på at vise oplysninger om personens bil. Det samme kan siges om vis-funktionen i klassen 'elev'. Man kalder denne form for samarbejde for uddelegering (eng.: propagation). Uddelegering i denne forstand er karakteristisk for objektorienterede programmer. ehovet for uddelegering kommer af, at attributterne i en klasse jo normalt er specificeret private - de kan defor kun tilgås gennem metoder. I det følgende ser vi nærmere på, hvordan uddelegering rent teknisk foregår for køber/sælgerrelationens og arve-relationens vedkommende. 1.1 Uddelegering i køber/sælger-relationen Realiseringen i C++ af den ovenfor viste køber/sælger-relation mellem klasserne 'person' og 'bil' ser sådan ud: class bil class person 1

2 //data //data private: private: bil denne_persons_bil; //metoder //metoder void vis(); void vis(); ; ; Køber/sælger-relationen mellem 'person' og 'bil' er altså realiseret ved at 'person' indeholder et attribut af typen 'bil' - d.v.s. et objekt af typen bil. Dette objekt ved navn 'denne_persons_bil' udgør sammenhængen mellem de 2 klasser. En skabelon for vis-funktionen i klassen 'person' ser sådan ud: void person::vis() denne_persons-bil.vis(); //udskriften af attributten //'denne_persons_bil' uddelegeres til bil- //klassens egen vis-funktion cout<< //udskrift af de øvrige attributter Den indbyrdes rækkefølge mellem disse 2 dele af funktionen kan naturligvis vælges anderledes. Uddelegeringen foregår altså gennem det eller de involverede objekt(er) - i dette tilfælde 'denne_persons_bil'. Generelt kan man formulere dette princip på flg. måde: 's vis-funktion uddelegerer til 's vis-funktion vis _objekt vis uddelegering: _objekt.vis() 2

3 1.2 Uddelegering i arve-relationen Realiseringen i C++ af den ovenfor viste arve-relation mellem klasserne 'person' og 'elev' ser sådan ud: class person class elev: public person //data //data private: private: bil denne_persons_bil; //metoder //metoder void vis(); void vis(); ; ; rve-relationen mellem 'elev' og 'person' er altså realiseret ved at 'elev' direkte specificerer arven i sin definition. En skabelon for vis-funktionen i klassen 'elev' ser sådan ud: void elev::vis() person::vis(); //udskriften af den del af objektet, der er //arvet fra klassen 'person' uddelegeres til //vis-funktionen i klassen 'person' cout<< //udskrift af de øvrige attributter Den indbyrdes rækkefølge mellem disse 2 dele af funktionen kan naturligvis vælges anderledes. Da et objekt af klassen 'elev' direkte indeholder de arvede attributter og metoder fra klassen 'person', skal vis-funktionen i klassen 'person' her ikke kaldes "gennem" et objekt - det hele foregår jo indenfor ét og samme objekt. I stedet er vi nødt til at angive den uddelegerede vis-funktions scope: person::vis(). Ellers ville systemet opfatte det som om funktionen "kaldte sig selv". Generelt kan man formulere dette princip på flg. måde: 3

4 C's vis-funktion uddelegerer til 's vis-funktion vis uddelegering: ::vis() C vis Løsningsforslaget i afsnit 3.4 til opgave viser et eksempel på uddelegering både i køber/sælger-relationen og i arve-relationen. 2. utomatisk uddelegering mellem constructorer En constructor er en metode, der tjener til at initialisere objekter. ehovet for uddelegering er derfor nøjagtigt det samme for constructorer som for andre metoders vedkommende. Som bekendt kaldes constructorer automatisk ved oprettelsen af objekter. Derfor foretages uddelegeringen også automatisk når det er constructorer, det drejer sig om. Dette foregår således: 2.1 køber/sælger-relationen 's constructor uddelegerer automatisk til 's constructor constructor _objekt constructor Et objekt indeholder af klassen indeholder iflg. 's definition et objekt af klassen ("_objekt"): 4

5 () () objekt_ objekt af klassen Når et objekt af klassen oprettes, kaldes automatisk 's constructor. Denne constructor sætter objektet op med de værdier, der er specificeret i constructoren. En del af dette arbejde går ud på at sætte det indeholdte objekt ('objekt_') op - denne del af arbejdet uddelegeres automatisk til 's constructor. Hvis klassen 's constructor har en parameterliste, skal værdier svarende til denne parameterliste "stilles til rådighed" for det automatiske kald. Til dette benyttes en initialiseringsliste i 's constructor: class class objekt_; (int i, char c); (int i, char c); ; ; ::(int i, char c):objekt_(i,c) Med fede typer er vist constructoren 's initialiseringsliste - i dette tilfælde navnet på det objekt, der skal initialiseres (objekt_) og en parameterliste med de værdier, dets constructor skal have som aktuelle parametre (i og c). Denne initialiseringsliste bevirker, at inden 's constructor udføres, så vil automatisk 's constructor udføres på det anførte objekt med de anførte værdier. I det viste eksempel er -constructorens parameterværdier hentet ind som parametre i - constructoren. -constructoren sender på den måde blot sine modtagne parameterværdier videre til -constructoren. -constructoren kan naturligvis herudover have parametre "til eget brug". 5

6 -constructorens aktuelle parametre i initialiseringslisten behøver ikke nødvendigvis komme fra -constructorens parametre selvom dette vil være det normale. 2.2 arve-relationen C's constructor uddelegerer automatisk til 's constructor constructor C constructor P.g.a. arven fra indeholder et objekt af klassen C både en del, der svarer til 's definition og en del, der svarer til C's egen definition: (C) indhold svarende til 's definition indhold svarende til C's definition objekt af klassen C Når et objekt af klassen C oprettes, kaldes automatisk C's constructor. Denne starter med automatisk at uddelegere opsætningen af 's del af objektet til 's constructor. Herefter sætter den selv resten af objektet op, d.v.s. den del der svarer til C's egen definition. Hvis klassen 's constructor har en parameterliste, skal værdier svarende til denne parameterliste "stilles til rådighed" for det automatiske kald. Til dette benyttes en initialiseringsliste i C's constructor: 6

7 class class C (int i, char c); C(int i, char c); ; ; C::C(int i, char c):(i,c) Med fede typer er vist constructoren 's initialiseringsliste - i dette tilfælde navnet på den klasse, der arves fra og en parameterliste med de værdier, dens constructor skal have som aktuelle parametre (i og c). Denne initialiseringsliste bevirker at inden C's constructor udføres, så vil 's constructor automatisk blive udført således at 's del af objektet sættes op med de anførte værdier. I det viste eksempel er -constructorens parameterværdier hentet ind som parametre i C- constructoren. C-constructoren sender på den måde blot sine modtagne parameterværdier videre til -constructoren. C-constructoren kan naturligvis herudover have parametre "til eget brug", d.v.s. til den del af objektet der ikke er arvet. 3. cceskontrol ved arv Ved nedarvning kan specificeres en kollektiv acceskontrol på 3 måder: OMT: private protected public C++: 7

8 class : private class : protected class : public eller blot: class : Denne form for acceskontrol påvirker ikke den klasse, der specificerer den, men dens omgivelser (d.v.s. dens klienter og afledte klasser ). Klassen ovenfor påvirkes altså ikke af den anførte acceskontrol. Den acceskontrol, en klasse specificerer ved arv, påvirker muligheden for "udefra" at referere til det, klassen har arvet. I eksemplet ovenfor drejer det sig m.a.o. om omgivelsernes muligheder for "gennem" klassen at referere til klassen 's attributter og metoder. Her gælder den regel, at en klasses egne interne specifikationer af acceskontrol for attributter og metoder aldrig kan svækkes gennem specifikationen af den kollektive acceskontrol ved arv. 3.1 private arv Hverken klienter eller afledte klasser til den specificerende klasse kan referere til klassemedlemmer i dennes baseklasse: private D her kan ikke refereres til C her kan ikke refereres til private arv er default. Hvis man ikke eksplicit specificerer acceskontrollen ved arv, er der altså tale om private arv. 3.2 protected arv 8

9 fledte klasser til den specificerende klasse kan referere til klassemedlemmer i dennes baseklasse i overensstemmelse med baseklassens interne acceskontrol-specifikationer. Klienter til den specificerende klasse kan ikke referere til klassemedlemmer i baseklassen: protected D her kan ikke refereres til C her kan refereres til (public og protected medlemmer) Muligheden for at tilgå 's klassemedlemmer "gennem" gælder ikke kun klassen C, men hele klassehierarkiet under - sålænge der ikke arves private. 3.3 public arv åde klienter og afledte klasser til den specificerende klasse kan referere til klassemedlemmer i dennes baseklasse i overensstemmelse med baseklassens interne acceskontrol-specifikationer. 9

10 public D her kan refereres til (public medlemmer) C her kan refereres til (public og protected medlemmer) 4. Virtuel baseklasse Multipel arv medfører repeteret arv, hvis de multiple baseklasser igen arver fra en fælles baseklasse: i C D ::i C::i (D) 10

11 Repeteret arv betyder, at en klasse arver ét og samme klassemedlem ad flere veje samtidigt, som det f.eks. er tilfældet med attributten i i klassen D ovenfor. Et objekt af klassen D vil derfor have 2 forekomster af i, hvilket medfører at flg. er ulovligt: D obj_d; obj_d.i = 0; //flertydigt, da 2 attributter hedder 'i' Som regel er repeteret arv uønsket, og man kan undgå det ved at specificere baseklasserne virtual ved multipel arv: class D: virtual public, virtual public C Dette har den effekt, at klassemedlemmer fra fælles baseklasser, der arves ad flere veje, ikke dubleres når der oprettes objekter. 5. friend-specifikationen ved arv Med friend-specifikationen kan en klasse undtage én eller flere klasser og/eller funktioner fra de specificerede acceskontroller i klassen: friend class klassen kan tilgå alle 's klassemedlemmer, uanset acceskontrol En friend-status kan ikke arves: friend class C 's friend-status arves ikke 11

12 Klassen C er i eksemplet herover underlagt de accekontroller, der internt er specificeret.i klassen. Omvendt arves selve friend-specifikationen: friend class C klassen kan tilgå den del af C's klassemedlemmer, der arves fra, uanset acceskontrollen i Enhver friend-specifikation betragtes altså som knyttet til den specificerende klasse. Den arvede friend-specifikationen giver derfor kun rettigheder m.h.t. baseklassen - ikke m.h.t. den afledte klasse. 6. Typeskabeloner (templates) En abstrakt datatype kendes på dens metoder (mulige operationer) - den tillader/kræver m.a.o. en abstrahering fra datas implementering. Ofte er det naturligt også at kunne abstrahere fra datas type. Det gælder f.eks. når den abstrakte datatype er en datastruktur beregnet på lagring af dataelementer. En stak f.eks. virker på samme måde uanset om dens elementer er af den ene eller anden type. Den logiske konsekvens af begrebet abstrakt datatype er m.a.o. muligheden for en vis frigørelse fra den stærke typebinding, der ellers har kendetegnet de fleste højniveau-programmeringssprog i mange år. C++ tilbyder 2 muligheder for en frigørelse fra den traditionelle typebinding: typeskabeloner (templates) Typer kan parameteroverføres til en datastruktur. Én og samme definition af datastrukturen kan derfor bruges til at oprette f.eks. en datastruktur af heltal og en datastruktur af strenge. 12

13 polymorfi Objekter indenfor samme arvehierarki kan uanset deres type (klasse) refereres med en pointer til arvehierarkiets baseklasse. Man kan derfor gemme objekter af alle typerne i arvehierarkiet i samme datastruktur. Forskellen mellem typeskabeloner og polymorfi er, at typeskabeloner binder alle elementer i en datastruktur til at være af samme type - det gør polymorfi ikke. Til gengæld sætter typeskabeloner ingen grænser for hvilke typer, der kan vælges - det gør polymorfi, da kun klasser indenfor det pågældende arvehierarki kan vælges. I det følgende skal vi se nærmere på, hvordan man arbejder med typeskabeloner (templates) i C++. Som eksempel benytter vi en klasse stak, hvor stakelementerne ikke er bundet til en bestemt type i definitionen. 6.1 Definition af klasser Når man definerer en klasse, hvori der indgår en ikke fastlagt type (parameteriseret type), skal denne erklæres i klassens hovede på flg. måde: template <class T> class ; etydningen af denne definition er, at 'T' defineres som en typeparameter, der kan bruges inde i definitionen af klassen. Dette betyder, at 'T' inde i klassen kan benyttes som synonym for en type. Definitionen af 'T' som typeparameter er lokal for klassen. Definitionen af en stakklasse kan foregå sådan: template <class T> class stak //definition af en klasse "stak", hvor T //er typeparameter T data[size]; //definition af en tabel "data" med "size" //elementer af typen T int staktop; //index til staktop-elementet stak(); void push(t i); T pop(); //konstruktør, sætter staktop til -1 svarende //til tom stak //lægger værdien 'i' på stakken ("pusher i") //tager øverste element af stakken og returnerer //dets værdi ("popper stakken") 13

14 ; void vis(); //viser hele stakken på skærmen Navnet på typeparameteren kan være enhver lovlig identifikator. Iflg. dokumentationen af C++ kan defineres flere typeparametre samtidigt, men dette fungerer ikke stabilt - sandsynligvis p.g.a. en fejl i compileren. 6.2 Definition af metoder Når en metode fra en klasse med typeparameter defineres udenfor sin klasse, skal typeparameteren igen defineres. Hvis klassen fra før har en metode med prototype void F(); ser definitionen sådan ud: template <class S> void <S>::F() Dette skal forstås således: <S> dette er den måde klassen 's scope betegnes på fordi der indgår en typepartameter nødvendig template <class S> dette er en erklæring af typeparameteren S - fordi typeparameteren indgår i klassens scope For at illustrere at erklæringen af en typeparameter er lokal for den umiddelbart efterfølgende programdel (f.eks. en klasse eller en funktion), er her valgt navnet S. Definitionen af metoderne i klassen 'stak' kan ske således: template <class T> stak<t>::stak() staktop=-1; template <class T> void stak<t>::push(t i) data[++staktop]=i; 14

15 template <class T> T stak<t>::pop() return data[staktop--]; template <class T> void stak<t>::vis() cout<<endl<<"stakkens indhold: "; for (int i=0; i<=staktop; i++) cout<<data[i]<<" "; 6.3 Oprettelse af objekter Ved oprettelsen af objekter skal angives en type svarende til typeparameteren. Dette sker således: <int> objekt_; Her oprettes objektet 'objekt_' af klassen, og typeparameteren bindes for dette objekts vedkommende til typen int. Et hovedprogram, der bruger klassen 'stak', kan se således ud: void main() stak<int> heltalsstak; stak<char> tegnstak; stak<string> strengstak; //opret en stak, hvor elementværdierne er heltal //opret en stak, hvor elementværdierne er tegn //opret en stak, hvor elementværdierne er strenge heltalsstak.push(2); heltalsstak.push(4); heltalsstak.vis(); tegnstak.push('a'); cout<<endl<<heltalsstak.pop(); strengstak.push("c"); strengstak.push("defg"); tegnstak.pop(); tegnstak.vis(); strengstak.vis(); 15

16 6.4 Operationer på attributter defineret med typeparametre Når attributter defineres med typeparametre, sætter dette en grænse for hvilke operationer, man kan foretage på disse attributter. Man kan jo ikke foretage operationer, der kun er defineret for bestemte typer. I praksis kan man foretage flg. operationer: - tildeling - parameteroverførsel - i/o med << og >>, forudsat disse operationer er defineret for den parameteroverførte type Især skal man bemærke, at man ikke kan foretage sammenligninger med operatorerne == og!= selvom disse operationer synes logisk veldefineret uanset typen. 16

Abstrakte datatyper C#-version

Abstrakte datatyper C#-version Note til Programmeringsteknologi Akademiuddannelsen i Informationsteknologi Abstrakte datatyper C#-version Finn Nordbjerg 1/9 Abstrakte Datatyper Denne note introducerer kort begrebet abstrakt datatype

Læs mere

SWC eksamens-spørgsmål. Oversigt

SWC eksamens-spørgsmål. Oversigt SWC eksamens-spørgsmål Oversigt #1 Typer og variable #2 Aritmetik og logik #3 Klasser (definition, objekter) #4 Klasser (metoder) #5 Klasser (nedarvning, polymorfi) #6 Conditional statements #7 Repetition

Læs mere

Objektorientering. Programkvalitet

Objektorientering. Programkvalitet 1 PROSA-Bladet nr. 4 1993 Objektorientering = Programkvalitet? Af Finn Nordbjerg, adjunkt ved Datamatikeruddannelsen, Aalborg Handelskole 1. Indledning Objektorientering er blevet et edb-fagets mest udbredte

Læs mere

AAU, Programmering i Java Intern skriftlig prøve 18. maj 2007

AAU, Programmering i Java Intern skriftlig prøve 18. maj 2007 AAU, Programmering i Java Intern skriftlig prøve 18. maj 2007 Opgavebesvarelsen skal afleveres som enten en printerudskrift eller som et passende dokument sendt via email til fjj@noea.dk. Besvarelsen skal

Læs mere

Programmering i C. Lektion 4. 5. december 2008

Programmering i C. Lektion 4. 5. december 2008 Programmering i C Lektion 4 5. december 2008 Funktioner Eksempel Fra sidst 1 Funktioner 2 Eksempel Funktioner Eksempel Eksempel: 1 / f u n k t i o n s p r o t o t y p e r / i n t i n d l a e s ( void )

Læs mere

Objektorienteret design med arv og polymorfi:

Objektorienteret design med arv og polymorfi: Note til Programmeringsteknologi Akademiuddannelsen i Informationsteknologi Objektorienteret design med arv og polymorfi: Substitutionsprincippet Composite Design Pattern Finn Nordbjerg Side 1 Objektorienteret

Læs mere

Rename og redefine. Abstrakte klasser. Dynamisk binding.

Rename og redefine. Abstrakte klasser. Dynamisk binding. 11 Nedarvning II. Enkeltnedarvning i Eiffel. Rename og redefine. Initialisering af superklasse-dele af et objekt. Interfaces til klienter og subklasser. Typesammenlignelighed og polymorfi. Abstrakte klasser.

Læs mere

Eksempel: Skat i år 2000

Eksempel: Skat i år 2000 Kursus 02199: Programmering afsnit 2.1-2.7 Anne Haxthausen IMM, DTU 1. Værdier og typer (bl.a. char, boolean, int, double) (afsnit 2.4) 2. Variable og konstanter (afsnit 2.3) 3. Sætninger (bl.a. assignments)

Læs mere

Datalogi OB, Efterår 2002 OH er, forelæsning 10/ Klasser og nedarvning

Datalogi OB, Efterår 2002 OH er, forelæsning 10/ Klasser og nedarvning Datalogi OB, Efterår 2002 OH er, forelæsning 10/9-2002 Klasser og nedarvning Hvad er formålet? Typer, generisk kode, typeparameterisering Kritisk kig på, hvordan man gør i Java. Eftermiddagens opgave:

Læs mere

Skriftlig eksamen i Datalogi

Skriftlig eksamen i Datalogi Roskilde Universitetscenter side 1 af 9 sider Skriftlig eksamen i Datalogi Modul 1 Vinter 1999/2000 Opgavesættet består af 6 opgaver, der ved bedømmelsen tillægges følgende vægte: Opgave 1 5% Opgave 2

Læs mere

Videregående Programmering Obligatorisk opgave - 3. semester, efterår 2004

Videregående Programmering Obligatorisk opgave - 3. semester, efterår 2004 Overvågningssystem Beskrivelse Bagagesorteringssystemet består af et antal skranker (check-in) til modtagelse og registrering af bagage, et automatiseret sorteringsanlæg samt et antal terminaler (gates),

Læs mere

18 Multivejstræer og B-træer.

18 Multivejstræer og B-træer. 18 Multivejstræer og B-træer. Multivejs søgetræer. Søgning i multivejssøgetræer. Pragmatisk lagring af data i multivejstræer. B-træer. Indsættelse i B-træer. Eksempel på indsættelse i B-træ. Facts om B-træer.

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2015 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 3. marts, 2015 Dette projekt udleveres i to dele. Hver del har sin deadline, således

Læs mere

Datalogi OB, Efterår 2002 OH er, forelæsning 3/9-2002 - forstå datastrukturer og algoritmer (teoretisk forståelse og intuition)

Datalogi OB, Efterår 2002 OH er, forelæsning 3/9-2002 - forstå datastrukturer og algoritmer (teoretisk forståelse og intuition) Datalogi OB, Efterår 2002 OH er, forelæsning 3/9-2002 Datastrukturer og algoritmer Henning Christiansen henning@ruc.dk http://www.ruc.dk/~henning Formål: at kunne - forstå datastrukturer og algoritmer

Læs mere

Software Construction 1 semester (SWC) Spørgsmål 1

Software Construction 1 semester (SWC) Spørgsmål 1 Spørgsmål 1 Objekter #1 Giv en kort præsentation af begrebet objekt, samt hvorledes du erklærer(declare), opretter(create) og bruger objekter Du kan beskrive o Datatyper o Variable / Instans variable /

Læs mere

Skriftlig eksamen i Datalogi

Skriftlig eksamen i Datalogi Roskilde Universitetscenter Skriftlig eksamen i Datalogi Modul 1 Sommer 1999 Opgavesættet består af 5 opgaver, der ved bedømmelsen tillægges følgende vægte: Opgave 1 15% Opgave 2 15% Opgave 3 8% Opgave

Læs mere

DM01 DM01. 3. Obl. Afl. Jacob Christiansen, 130282, jacob.ch@mail.tdcadsl.dk. D12, Elias 18/3-2003. Side 1 af 11

DM01 DM01. 3. Obl. Afl. Jacob Christiansen, 130282, jacob.ch@mail.tdcadsl.dk. D12, Elias 18/3-2003. Side 1 af 11 DM01 DM01 3. Obl. Afl. Jacob Christiansen, 130282, jacob.ch@mail.tdcadsl.dk D12, Elias 18/3-2003 Side 1 af 11 DM01 Indholdsfortegnelse: BILAG:...2 1 FORMÅL:...3 2 KLASSER:...4 2.1 DILEMMA:...4 2.1.1 METODER:...4

Læs mere

19 Hashtabeller. Noter. PS1 -- Hashtabeller. Hashing problemet. Hashfunktioner. Kollision. Søgning og indsættelse.

19 Hashtabeller. Noter. PS1 -- Hashtabeller. Hashing problemet. Hashfunktioner. Kollision. Søgning og indsættelse. 19 Hashtabeller. Hashing problemet. Hashfunktioner. Kollision. Søgning og indsættelse. Sammenligning af hashtabeller og søgetræer. 281 Hashing-problemet (1). Vi ønsker at afbilde n objekter på en tabel

Læs mere

JavaScript. nedarvning.

JavaScript. nedarvning. JavaScript er et sprog, der kan give en hjemmeside mere funktionalitet og gøre den interaktiv, så den reagerer på læsernes handlinger. CGI (Common Gateway Interface) har hidtil været de protokoller, man

Læs mere

C++ Programmering V. 0.9991

C++ Programmering V. 0.9991 Indholdsfortegnelse 1. Indledning...3 1.2 Forudsætninger:...3 1.3 Udeståender...4 1 Start med C++...5 1.1 Det første C++ program...5 1.2 Formatering af output...8 1.3 Kommentarer...9 1.4 Funktions prototyper...9

Læs mere

Programmering i C. Kursusintroduktion. Lektion september Målgruppe 2 Indhold 3 Form 4 Materiale. Målgruppe Indhold Form Materiale

Programmering i C. Kursusintroduktion. Lektion september Målgruppe 2 Indhold 3 Form 4 Materiale. Målgruppe Indhold Form Materiale Programmering i C Lektion 1 16. september 2008 Målgruppe Indhold Form Materiale Kursusintroduktion 1 Målgruppe 2 Indhold 3 Form 4 Materiale 2 / 21 Målgruppe Indhold Form Materiale Folk der har styr på

Læs mere

KAPITEL 8: OPRETTELSE OG ADMINISTRATION AF DOKUMENTGODKENDELSE

KAPITEL 8: OPRETTELSE OG ADMINISTRATION AF DOKUMENTGODKENDELSE Kapitel 8: Oprettelse og administration af dokumentgodkendelse KAPITEL 8: OPRETTELSE OG ADMINISTRATION AF DOKUMENTGODKENDELSE Målsætninger Introduktion Målsætningerne er at: Oprette dokumentgodkendelsessystemets

Læs mere

Udvidelse og specialisering. Klassehierarkier. Nedarvningsterminologi. Interfaces. Statiske og dynamiske typer. Polymorfi. Abstrakte klasser.

Udvidelse og specialisering. Klassehierarkier. Nedarvningsterminologi. Interfaces. Statiske og dynamiske typer. Polymorfi. Abstrakte klasser. 10 Nedarvning I. Udvidelse og specialisering. Klassehierarkier. Nedarvningsterminologi. Interfaces. Statiske og dynamiske typer. Polymorfi. Dynamisk binding og virtuelle operationer. Decentraliseret/centraliseret

Læs mere

Klasser og objekter. (Afsnit i manualen)

Klasser og objekter. (Afsnit i manualen) Klasser og objekter (Afsnit 4 + 5 i manualen) Grundbegreber Klasser og objekter beskrivelse oprettelse Attributter og metoder tilstand opførsel Indkapsling afskærmning datarepræsentationsuafhængighed Klasser

Læs mere

LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam) { int wmid, wmevent; programmering med

LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam) { int wmid, wmevent; programmering med LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam) int wmid, wmevent; PAINTSTRUCT Introduktion ps; til HDC hdc; programmering med switch (message) case WM_COMMAND: wmid = LOWORD(wParam);

Læs mere

Objektorienteret Programmering

Objektorienteret Programmering Objektorienteret Programmering Struktureret Systemudvikling Jan Bendtsen Automation and Control Indhold Lidt om programmeringssprog Klasser i Java Klasser i C++ Oversættelse og kørsel af kode Et eksempel:

Læs mere

Kursus i OOP og Java. Kursus i Objektorienteret programmering i Java

Kursus i OOP og Java. Kursus i Objektorienteret programmering i Java Kursus i OOP og Java Kursus i Objektorienteret programmering i Java Åben Dokumentlicens Dette foredragsmateriale er under Åben Dokumentlicens (ÅDL) Du har derfor lov til frit at kopiere dette værk Bruger

Læs mere

Kursusarbejde 3 Grundlæggende Programmering

Kursusarbejde 3 Grundlæggende Programmering Kursusarbejde 3 Grundlæggende Programmering Arne Jørgensen, 300473-2919 klasse dm032-1a 21. november 2003 Indhold 1. Kode 2 1.1. forestillinger.h............................................. 2 1.2. forestillinger.cc.............................................

Læs mere

Hvad er Objekter - Programmering

Hvad er Objekter - Programmering Denne guide er oprindeligt udgivet på Eksperten.dk Hvad er Objekter - Programmering En rigtig god gennemgang af hvad objekter er! Hvordan de oprettes og anvendes! Det er helt klart til nybegyndere, som

Læs mere

Polymorfi. Arv (inheritance) Abstrakte klasser, substitutionsprincippet, overriding, statisk og dynamisk type. Coercion

Polymorfi. Arv (inheritance) Abstrakte klasser, substitutionsprincippet, overriding, statisk og dynamisk type. Coercion Polymorfi Arv (inheritance) Abstrakte klasser, substitutionsprincippet, overriding, statisk og dynamisk type Coercion Tvangskonvertering (forfremmelse og begrænsning) Oversigt Abstrakt klasse abstrakt

Læs mere

4 Basal Objekt-orienteret Programmering I.

4 Basal Objekt-orienteret Programmering I. 4 Basal Objekt-orienteret Programmering I. Klasser i forhold til abstrakte datatyper og record-typer. Variable og operationer. Klasse-interfaces. Klasser og typer. Klasse-instantiering og initialisering.

Læs mere

Videregående programmering i Java

Videregående programmering i Java Videregående programmering i Java Dag 9 Andre designmønstre Andre designmønstre: Uforanderlig, Fluevægt, Lagdelt Initialisering, Komposit/Rekursiv Komposition, Kommando/Ændring Fremlæggelse af programmering/status

Læs mere

Tabelbegrebet. Klassediagrammer (III) Oversigt. Anvendelse af Tabeller. Tabeller og qualified associations

Tabelbegrebet. Klassediagrammer (III) Oversigt. Anvendelse af Tabeller. Tabeller og qualified associations Tabelbegrebet Klassediagrammer (III) Tabeller og qualified associations originally by Michael R. Hansen modified/extended by Anne E. Haxthausen Informatics and Mathematical Modelling Technical University

Læs mere

Specifikation Abstrakt OO OS-API Rev. 1.7. Specifikation. Abstrakt, objektorienteret operativsystem-api

Specifikation Abstrakt OO OS-API Rev. 1.7. Specifikation. Abstrakt, objektorienteret operativsystem-api Specifikation Abstrakt, objektorienteret operativsystem-api Indhold 1 Indledning... 3 1.1 Introduktion... 3 1.2 Formål... 3 1.3 Overordnede krav... 3 2 Ressourcer i OS-API et... 4 2.1 Tråde... 4 2.2 Timere...

Læs mere

UML-Light (Note: UML-Light T133, ver. 2004) Finn Overgaard Hansen, IHA

UML-Light (Note: UML-Light T133, ver. 2004) Finn Overgaard Hansen, IHA UML-Light (Note: UML-Light T33, ver. 2004) Finn Overgaard Hansen, IHA Programmering PRG + Semesterprojekter PRJ+PRJ2 Version: 20--2004 Indhold Første del: Introduktion til UML-Light og UML Klasser og objekter

Læs mere

Java Programmering. En bog for begyndere. Skrevet af Henrik Kressner

Java Programmering. En bog for begyndere. Skrevet af Henrik Kressner Java Programmering En bog for begyndere Skrevet af Henrik Kressner Indholdsfortegnelse Introduktion...3 1 Introduktion til Java...4 1.1 Javakoden...4 1.2 Det første program...6 1.2 Skriv til skærmen...6

Læs mere

Uniq.Survey-Xact.DK. Vejledning. Rambøll Management Olof Palmes Allé 20 DK-8200 Århus N Denmark. Tlf: 8944 7800 www.ramboll-management.

Uniq.Survey-Xact.DK. Vejledning. Rambøll Management Olof Palmes Allé 20 DK-8200 Århus N Denmark. Tlf: 8944 7800 www.ramboll-management. Uniq.Survey-Xact.DK Vejledning Rambøll Management Olof Palmes Allé 20 DK-8200 Århus N Denmark Tlf: 8944 7800 www.ramboll-management.dk TU1.UT TUIndledningUT TU2.UT TUKlargøring TU3.UT TUOprettelse TU4.UT

Læs mere

Klasser og Objekter i Python. Uge 46 Learning Python: kap 15-16, 19-22.

Klasser og Objekter i Python. Uge 46 Learning Python: kap 15-16, 19-22. Klasser og Objekter i Python Uge 46 Learning Python: kap 15-16, 19-22. Klasser og objekter En klasse beskriver en klump af samhørende funktioner og variable En klasse er en beskrivelse. En kage form Klassens

Læs mere

Eksamensopgaver datalogi, dlc 2011 side 1/5. 1. Lodtrækningssystem

Eksamensopgaver datalogi, dlc 2011 side 1/5. 1. Lodtrækningssystem Eksamensopgaver datalogi, dlc 2011 side 1/5 1. Lodtrækningssystem Der skal fremstilles et program, som kan foretage en lodtrækning. Programmet skal kunne udtrække en eller flere personer (eller andet)

Læs mere

dintprog Manual Revision: 1241 August 24, 2010 I Introduktion 3 1 Notation 3 II Begreber 4 2 Grundbegreber om programmering 4

dintprog Manual Revision: 1241 August 24, 2010 I Introduktion 3 1 Notation 3 II Begreber 4 2 Grundbegreber om programmering 4 dintprog Manual Revision: 1241 August 24, 2010 Indhold I Introduktion 3 1 Notation 3 II Begreber 4 2 Grundbegreber om programmering 4 3 Grundbegreber om modellering 4 III Sprogkonstruktioner 5 4 Klasser

Læs mere

Jacob Nordfalk. Ingeniørhøjskolen i København. Nykøbing F itvisioncenter 24. februar 2004

Jacob Nordfalk. Ingeniørhøjskolen i København. Nykøbing F itvisioncenter 24. februar 2004 Genbrugelige komponenter og designmønstre i Java Jacob Nordfalk Ingeniørhøjskolen i København Nykøbing F itvisioncenter 24. februar 2004 Program Om Jacob Nordfalk introduktion (ikke-teknisk del) Komponentbaseret

Læs mere

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 4

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 4 DM502 Forelæsning 4 Flere kontrolstrukturer for-løkke switch-case Metoder Indhold Arrays og sortering af arrays String-funktioner for-løkke Ofte har man brug for at udføre det samme kode, for en sekvens

Læs mere

3 Algebraisk Specifikation af Abstrakte Datatyper.

3 Algebraisk Specifikation af Abstrakte Datatyper. 3 Algebraisk Specifikation af Abstrakte Datatyper. Specifikation kontra program. Bestanddele af en algebraisk specifikation. Klassificering af funktioner i en ADT. Systematisk definition af ligninger.

Læs mere

dcomnet-nr. 6 Talrepræsentation Computere og Netværk (dcomnet)

dcomnet-nr. 6 Talrepræsentation Computere og Netværk (dcomnet) dcomnet-nr. 6 Talrepræsentation Computere og Netværk (dcomnet) Efterår 2009 1 Talrepræsentation På maskinkodeniveau (Instruction Set Architecture Level) repræsenteres ordrer og operander ved bitfølger

Læs mere

Civilingeniøreksamen 49104 12. januar 2001. Skriftelig prøve den 12. januar 2001 Kursusnummer 49104

Civilingeniøreksamen 49104 12. januar 2001. Skriftelig prøve den 12. januar 2001 Kursusnummer 49104 Skriftelig prøve den 12. januar 2001 Kursusnummer 49104 Kursusnavn: Programmering. Tilladte hjælpemidler: Alle skriftlige hjælpemidler Opgavesættet består af fire opgaver, der har følgende vægtning: Opgave

Læs mere

Kursusarbejde 2 Grundlæggende Programmering

Kursusarbejde 2 Grundlæggende Programmering Kursusarbejde 2 Grundlæggende Programmering Arne Jørgensen, 300473-2919 klasse dm032-1a 31. oktober 2003 Indhold 1. Kode 2 1.1. hotel.h.................................................... 2 1.2. hotel.cc...................................................

Læs mere

Tabeller (I) Tabeller

Tabeller (I) Tabeller Tabeller (I) Klassediagrammer (III) Tabeller og qualified associations Michael R. Hansen mrh@imm.dtu.dk Informatics and Mathematical Modelling Technical University of Denmark En tabel fra en mængde A til

Læs mere

C++ Programmering V. 0.99

C++ Programmering V. 0.99 Indholdsfortegnelse 1. Indledning...3 1.2 Forudsætninger:...3 1.3 Udeståender...4 6 Start med C++...5 6.1 Det første C++ program...5 6.2 Formatering af output...8 6.3 Kommentarer...9 6.4 Funktions prototyper...9

Læs mere

0KAPITEL 5: DOKUMENTGODKENDELSE OPSÆTNINGSVEJLEDNING

0KAPITEL 5: DOKUMENTGODKENDELSE OPSÆTNINGSVEJLEDNING Kapitel 5: Dokumentgodkendelse Opsætningsvejledning 0KAPITEL 5: DOKUMENTGODKENDELSE OPSÆTNINGSVEJLEDNING 1Målsætninger Målene er at: Opsætte dokumentgodkendelsessystemets generelle funktioner. Opsætte

Læs mere

INDHOLDSFORTEGNELSE INTRODUKTION SØGERESULTAT

INDHOLDSFORTEGNELSE INTRODUKTION SØGERESULTAT INDHOLDSFORTEGNELSE Introduktion Søgeresultat Ikoner i søgeresultatet Sådan arbejder du med dit søgeresultat Sammenlign valgte Føj alle til overvågning Eksporter data Gem som eksportkriterium Hent eksportkriterium

Læs mere

Algoritmeskabeloner: Sweep- og søgealgoritmer C#-version

Algoritmeskabeloner: Sweep- og søgealgoritmer C#-version Note til Programmeringsteknologi Akademiuddannelsen i Informationsteknologi Algoritmeskabeloner: Sweep- og søgealgoritmer C#-version Finn Nordbjerg 1/9 Indledning I det følgende introduceres et par abstrakte

Læs mere

Hashing og hashtabeller

Hashing og hashtabeller Datastrukturer & Algoritmer, Datalogi C Forelæsning 16/11-2004 Hashing og hashtabeller Teknik til at repræsentere mængder Konstant tid for finde og indsætte men ingen sortering af elementerne Specielt

Læs mere

Programmering i C. Lektion november 2008

Programmering i C. Lektion november 2008 Programmering i C Lektion 3 18. november 2008 Kontrolstrukturer Udvælgelse Gentagelse Eksempler Fra sidst 1 Kontrolstrukturer 2 Udvælgelse 3 Gentagelse 4 Eksempler Kontrolstrukturer Udvælgelse Gentagelse

Læs mere

Generelt Internationalisering

Generelt Internationalisering Bekendtgørelse om krav til anvendelse af Informations- og Side 1 af 7 Generelt Digital Konvergens samarbejdet, har i sit hidtidige arbejde fokuseret på at implementere vindende, digitale standarder, der

Læs mere

Klasser. Grundlæggende Programmering med Projekt. Peter Sestoft Tirsdag 2. september 2008. (Tak til Jakob Bardram for nogle slides) Dagens begreber

Klasser. Grundlæggende Programmering med Projekt. Peter Sestoft Tirsdag 2. september 2008. (Tak til Jakob Bardram for nogle slides) Dagens begreber Klasser Grundlæggende Programmering med Projekt Peter Sestoft Tirsdag 2. september 2008 (Tak til Jakob Bardram for nogle slides) Dagens begreber Felt (field) Metode (method) Parameter (parameter) Sætning,

Læs mere

Kursus navn: Indledende programmering Kursus nr. 02101

Kursus navn: Indledende programmering Kursus nr. 02101 Danmarks Tekniske Universitet Side 1 af 8 sider Skriftlig prøve, den 15. december 2007 Kursus navn: Indledende programmering Kursus nr. 02101 Tilladte hjælpemidler: Alle skriftlige hjælpemidler Vægtning

Læs mere

I3PRG3+I3DTM3+I3ISY1-3. semester

I3PRG3+I3DTM3+I3ISY1-3. semester INGENIØRHØJSKOLEN I ÅRHUS Elektro- og IKT-afdelingen Side 1 af 5 Varighed: 4 timer - fra kl. 9.00 til kl. 13.00 Ingeniørhøjskolen udleverer: 3 omslag samt papir til kladde og renskrift Særlige bemærkninger:

Læs mere

Grundlæggende Programmering ITU, Efterår 1999. Skriftlig eksamen i Grundlæggende Programmering

Grundlæggende Programmering ITU, Efterår 1999. Skriftlig eksamen i Grundlæggende Programmering Skriftlig eksamen i Grundlæggende Programmering ITU, 20. januar 2000 Alle hjælpemidler tilladt, dog ikke datamat. Eksamen er skriftlig, fire timer, og bedømmes efter 13-skalaen. Opgavesættet består af

Læs mere

29 Opsamling af Objekt-orienteret Programmering.

29 Opsamling af Objekt-orienteret Programmering. 29 Opsamling af Objekt-orienteret Programmering. Bottom-up kontra top-down design. "The shopping list approach". Hvordan finder man på objekterne. Klasser og dataabstraktion. Klasse interface og interface-teknikker.

Læs mere

Database "opbygning"

Database opbygning Database "opbygning" Dette områder falder mest under en DBA's ansvarsområde. Det kan sagtens tænkes at en database udvikler i nogle situationer vil blive nød til at oprette produktions og test) databaser,

Læs mere

1 KlassifikationStruktur

1 KlassifikationStruktur ..27 KlassifikationStruktur. KlassifikationStruktur Klassifikation er det abstrakte objekt som samler et klassifikationssystem. Klassifikation holder klassifikationssystemets metadata. Klassifikationssystemet

Læs mere

DOMSTOLENS DOM (Første Afdeling) 20. juni 1996 *

DOMSTOLENS DOM (Første Afdeling) 20. juni 1996 * DOM AF 20.6.1996 SAG C- 121/95 DOMSTOLENS DOM (Første Afdeling) 20. juni 1996 * I sag C-121/95, angående en anmodning, som Bundesfinanzhof i medfør af EF-traktatens artikel 177 har indgivet til Domstolen

Læs mere

Undervisningsplan. Side 1 af 9. Termin Rybners Tekniske Gymnasium. Uddannelse. Fag og niveau. Informationsteknologi B

Undervisningsplan. Side 1 af 9. Termin Rybners Tekniske Gymnasium. Uddannelse. Fag og niveau. Informationsteknologi B Undervisningsplan Termin 2015-2016 Institution Uddannelse Fag og niveau Lærer(e) Hold Rybners Tekniske Gymnasium HTX Informationsteknologi B Jeppe Moritz Led, Jens Ahlmann Hansen 8HX215ema Oversigt over

Læs mere

Yderligere udvidelser af oversætter for Minimal

Yderligere udvidelser af oversætter for Minimal Yderligere udvidelser af oversætter for Minimal Karakteropgave på kurset Oversættere Vinter 2005 1 Introduktion Dette er den anden del af rapportopgaven på Oversættere, vinter 2005. Opgaven skal løses

Læs mere

InfoPro 2i. Profil Softwarefirmaet MaCom A/S blev etableret i 1992. Vi udvikler og markedsfører dokumenthåndteringssystemet InfoPro.

InfoPro 2i. Profil Softwarefirmaet MaCom A/S blev etableret i 1992. Vi udvikler og markedsfører dokumenthåndteringssystemet InfoPro. InfoPro 2i Profil Softwarefirmaet MaCom A/S blev etableret i 1992. Vi udvikler og markedsfører dokumenthåndteringssystemet InfoPro. Mission MaCom's mission er at sikre og skabe struktur i vores kunders

Læs mere

Assignment #5 Toolbox Contract

Assignment #5 Toolbox Contract Assignment #5 Toolbox Contract Created by: René Kragh Trine Randløv E mail address cph rk70@cphbusiness.dk 23 11 2014 1 Introduktion Dette dokument indeholder en vertikal kontrakt for et system som skal

Læs mere

Metaklasser i Smalltalk.

Metaklasser i Smalltalk. 8 Metaklasser i Smalltalk. Motivation Metodeopslag Simple metaklasser Mere udviklede metaklasser Klasse- og metaklassehierarkiet Instantiering og initialisering Skabelse af klasser og metoder Oversigt

Læs mere

UML til kravspecificering

UML til kravspecificering UML til kravspecificering UML mini-kompendium - til brug i forbindelse med modellering af kravspecifikationer. Copyright 2006 Teknologisk Institut, IT-Udvikling Aktivitetsdiagram 2/9 Aktion Aktionsnavn

Læs mere

dcomnet-nr. 8 Simpel aritmetik på maskinniveau Computere og Netværk (dcomnet)

dcomnet-nr. 8 Simpel aritmetik på maskinniveau Computere og Netværk (dcomnet) dcomnet-nr. 8 Simpel aritmetik på maskinniveau Computere og Netværk (dcomnet) Efterår 2009 1 Simpel aritmetik på maskinniveau I SCO, appendix A, er det beskrevet, hvordan man adderer ikke-negative heltal

Læs mere

Bilag 1 Rige billeder Ordremodtagelse

Bilag 1 Rige billeder Ordremodtagelse Bilag1 Rigebilleder Ordremodtagelse Tværfagligtprojektpå2.Semester Bilag afchristian,kennetogmartin 71 Overordnet Tværfagligtprojektpå2.Semester Bilag afchristian,kennetogmartin 72 Produktionsgulvet Tværfagligtprojektpå2.Semester

Læs mere

Oversættere, ugeopgave 3

Oversættere, ugeopgave 3 Oversættere, ugeopgave 3 Anders jerg Pedersen (andersbp@me.com) 29. november 2009 Opgave 1 Vi konsrer først NFA er for grammatikken fra opgave 3.22 med produktionen tilføjet: Produktion NFA 0 A 1 C D 2

Læs mere

Athena DIMENSION Varmeanlæg 4

Athena DIMENSION Varmeanlæg 4 Athena DIMENSION Varmeanlæg 4 Juni 2001 Indhold 1 Introduktion.................................. 2 2 Programmets opbygning........................... 2 3 Fremgangsmåde................................ 3

Læs mere

Forslag til oprettelse af et konferencemodul

Forslag til oprettelse af et konferencemodul Forslag til oprettelse af et konferencemodul Motivation Konferencerelaterede aktiviteter kan i dag ikke registreres tilfredsstillende. En forsker, der har været på konference, vil typisk skulle registrere

Læs mere

Indledning... 2 Opbygning... 2 Servicesegmenternes sammenhæng... 3 UNA... 4 UNB... 6 UNH... 10 UNT... 12 UNZ... 14

Indledning... 2 Opbygning... 2 Servicesegmenternes sammenhæng... 3 UNA... 4 UNB... 6 UNH... 10 UNT... 12 UNZ... 14 05.05.2000 5. SERVICESEGMENTER Indholdsfortegnelse Indledning... 2 Opbygning... 2 Servicesegmenternes sammenhæng... 3 UNA... 4 UNB... 6 UNH... 10 UNT... 12 UNZ... 14 Side: 2 Indledning Dette afsnit indeholder

Læs mere

Programmering. Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen

Programmering. Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen Programmering Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen Oversigt Undervisningen Hvad er programmering Hvordan er et program organiseret? Programmering og fysik Nobelprisen

Læs mere

16 Træer. Noter. Definition af et træ. Definitioner i tilknytning til træer. Repræsentation af træer. Binære træer. Den abstrakte datatype.

16 Træer. Noter. Definition af et træ. Definitioner i tilknytning til træer. Repræsentation af træer. Binære træer. Den abstrakte datatype. 16 Træer. Definition af et træ. Definitioner i tilknytning til træer. Repræsentation af træer. Binære træer. Den abstrakte datatype. Gennemløb af binære træer. Træer i Eiffel. 229 Definition af et træ.

Læs mere

2 Abstrakte datatyper.

2 Abstrakte datatyper. 2 Abstrakte datatyper. Motivere eksempel: top-down udvikling af program 'mini-bank' Strukturering af et program: efter data eller funktion? Definition af en abstrakt datatype og tilknyttede begreber. Fænomener,

Læs mere

DATALOGI 1E. Skriftlig eksamen torsdag den 3. juni 2004

DATALOGI 1E. Skriftlig eksamen torsdag den 3. juni 2004 Københavns Universitet Naturvidenskabelig Embedseksamen DATALOGI 1E Skriftlig eksamen torsdag den 3. juni 2004 Opgaverne vægtes i forhold til tidsangivelsen herunder, og hver opgaves besvarelse bedømmes

Læs mere

Programmering i C. Lektion oktober 2008

Programmering i C. Lektion oktober 2008 Programmering i C Lektion 2 20 oktober 2008 Historie Processen At kompilere 2 / 23 Fra sidst 1 Historie 2 Processen 3 At kompilere Historie Processen At kompilere 3 / 23 ALGOL 60 1963 CPL 1966 BCPL 1969

Læs mere

RMI introduktion. Denne artikel beskriver Java RMI (Remtote Method Invocation).

RMI introduktion. Denne artikel beskriver Java RMI (Remtote Method Invocation). Denne guide er oprindeligt udgivet på Eksperten.dk RMI introduktion Denne artikel beskriver Java RMI (Remtote Method Invocation). Den beskriver teorien bag RMI, viser et simpelt kode eksempel og forklarer

Læs mere

CCS Formål Produktblad December 2015

CCS Formål Produktblad December 2015 CCS Formål Produktblad December 2015 Kolofon 2015-12-14

Læs mere

Vejledning for anvendelse af PensionsIndberetningssystem PI

Vejledning for anvendelse af PensionsIndberetningssystem PI Vejledning for anvendelse af PensionsIndberetningssystem PI PNN PENSION 190503/AMB Indholdsfortegnelse 1. INDBERETNINGER... 3 2. SØG INDBERETNING... 4 3. NY INDBERETNING... 5 4. INDLÆS FIL... 7 5. INDTAST

Læs mere

Sammenlign og byt. Et eksempel på dokumentering af et program

Sammenlign og byt. Et eksempel på dokumentering af et program Sammenlign og byt Et eksempel på dokumentering af et program Sammenlign og byt Jeg har valgt, som et eksempel, at dokumentere et meget enkelt program som indlæser to tal, sammenligner dem og udskriver

Læs mere

Objektorienterede metoder

Objektorienterede metoder Objektorienterede metoder Denne gang: Designmønstre Skabende designmønstre: Fabrikeringsmetode/Fabrik, Singleton, Abstrakt fabrik (Toolkit), Prototype, Objektpulje Singleton eksempel: Forskellige slags

Læs mere

Object-Relational Mapping

Object-Relational Mapping Databaser for udviklere () Datamatiker TietgenSkolen Underviser: Allan Helboe 06-06-2010 Problemformulering Denne opgave er et forsøg på at beskrive problemerne der opstår ved anvendelsen af en relationel

Læs mere

University of Southern Denmark Syddansk Universitet. DM503 Forelæsning 11

University of Southern Denmark Syddansk Universitet. DM503 Forelæsning 11 DM503 Forelæsning 11 Generics Pakker Exceptions Indhold Generics Nedarvning og Generics Generics Nedarvning og Generics Husk Box fra sidst Generics public class Box {! private T object;! public void

Læs mere

GPS-Link version 1.6.4 Brugervejledning Dansk Sejlunion

GPS-Link version 1.6.4 Brugervejledning Dansk Sejlunion GPS-Link version 1.6.4 Brugervejledning Dansk Sejlunion Alle henvendelser om GPS-Link bedes foretaget pr. email til supportdlsk@sejlsport.dk Hvad er GPS-Link? GPS-Link anvendes til overførsel af navigationsdata

Læs mere

K E N D E L S E Berigtiget udgave

K E N D E L S E Berigtiget udgave K E N D E L S E Berigtiget udgave afsagt af Konkurrenceankenævnet den 8/10 2013 og berigtiget den 21. oktober 2013 i sag nr. VFL-3-2012 (2013-016) Hørsholm Vand ApS mod Forsyningssekretariatet Resume af

Læs mere

Scripting. Opslag til (Vol. D. Dahlerup. Bemærk. Anvendte bøger: "Sams. og proteiner.

Scripting. Opslag til (Vol. D. Dahlerup. Bemærk. Anvendte bøger: Sams. og proteiner. Bioinformatisk C++ Scripting i Xubuntu Vol. 2 Opslag til Dybdegående Bioinformatisk Scripting i Xubuntu 12.10 (Vol. 2) Henrik D. Dahlerup, Maj 2015 kontakt: henrik@ddahlerup.com Anvendte bøger: "Sams Publishing"-books.

Læs mere

Videregående programmering i Java

Videregående programmering i Java Videregående programmering i Java Dag 6 Komponenter (og lidt Swing og MVC) Læsning: VP 4, evt. VP 6 Dette materiale er under Åben Dokumentlicens, se http://www.sslug.dk/linuxbog/licens.html Grafiske komponenter

Læs mere

REGLER FOR DANMARKSRANGLISTEN FOR SENIORER

REGLER FOR DANMARKSRANGLISTEN FOR SENIORER REGLER FOR DANMARKSRANGLISTEN FOR SENIORER 1. Licens a. For at være omfattet af Danmarksranglisten for seniorer skal en spiller være registreret med spillerlicens og tilhørende licensnummer hos DSqF. b.

Læs mere

Citation for pulished version (APA): Nordbjerg, F. E. (1993). Objektorientering = Programkvalitet? Prosabladet. De it-professionelles fagblad, (4).

Citation for pulished version (APA): Nordbjerg, F. E. (1993). Objektorientering = Programkvalitet? Prosabladet. De it-professionelles fagblad, (4). Danish University Colleges Objektorientering = Programkvalitet? Nordbjerg, Finn Ebertsen Published in: Prosabladet. De it-professionelles fagblad Publication date: 1993 Document Version Pre-print: Det

Læs mere

LetOO en let måde at komme i gang med Objekt Orienteret programmering

LetOO en let måde at komme i gang med Objekt Orienteret programmering LetOO en let måde at komme i gang med Objekt Orienteret programmering BS3-projektet på 3. år af bacheloruddannelsen i datalogi under Åben Uddannelse ved Aalborg Universitet. Studerende: Brian Sejberg Christian

Læs mere

Microsoft Access 2013 ser anderledes ud end tidligere versioner, så vi har oprettet denne vejledning, så du hurtigere kan lære programmet at kende.

Microsoft Access 2013 ser anderledes ud end tidligere versioner, så vi har oprettet denne vejledning, så du hurtigere kan lære programmet at kende. Startvejledning Microsoft Access 2013 ser anderledes ud end tidligere versioner, så vi har oprettet denne vejledning, så du hurtigere kan lære programmet at kende. Ændre skærmstørrelsen eller lukke en

Læs mere

PROGRAM. using System; using System.Collections.Generic; using System.Text; using System.Collections;

PROGRAM. using System; using System.Collections.Generic; using System.Text; using System.Collections; PROGRAM using System; using System.Collections.Generic; using System.Text; using System.Collections; namespace EventManager class Program static void Main(string[] args) string hovedmenu = ""; string svar;

Læs mere

Afsnittet er temmelig teoretisk. Er du mere til det praktiske, går du blot til det næste afsnit.

Afsnittet er temmelig teoretisk. Er du mere til det praktiske, går du blot til det næste afsnit. Afsnittet er temmelig teoretisk. Er du mere til det praktiske, går du blot til det næste afsnit. XML (eng. extensible Markup Language) XML er en måde at strukturere data på i tekstform. På samme måde som

Læs mere

Vurderingsprincipper i DDKM af 2015 for kommuner Vejledning til surveyors og Akkrediteringsnævnet November 2015

Vurderingsprincipper i DDKM af 2015 for kommuner Vejledning til surveyors og Akkrediteringsnævnet November 2015 Vurderingsprincipper i DDKM af 2015 for kommuner Vejledning til surveyors og Akkrediteringsnævnet November 2015 Institut for Kvalitet og Akkreditering i Sundhedsvæsenet Kommuner: Vurderingsprincipper kortfattet

Læs mere

Side 1 af 16. Vedligehold decentrale stamdata i SKS

Side 1 af 16. Vedligehold decentrale stamdata i SKS Side 1 af 16 Vedligehold decentrale stamdata i SKS Indholdsfortegnelse Side 2 af 16 1. Indledning... 3 2. Generelt om stamdata i SKS og vedligeholdelse af disse... 3 2.1. CENTRALE STAMDATA... 4 2.2. DECENTRALE

Læs mere

Miniprojekt i Programmering (MIP) for DAT2 og SW2, Forår 2012

Miniprojekt i Programmering (MIP) for DAT2 og SW2, Forår 2012 Miniprojekt i Programmering (MIP) for DAT2 og SW2, Forår 2012 Opgaven er delt op i 2 dele. Læs hele opgaven igennem inden I begynder. 1. Struktur I denne opgave skal der laves et system der håndterer salg

Læs mere

Faggruppernes troværdighed

Faggruppernes troværdighed Radius Kommunikation Faggruppernes troværdighed Faktaark Oktober 2014 Materialet er fortroligt og må ikke anvendes uden for klientens organisation uden forudgående skriftligt samtykke fra Radius Kommunikation

Læs mere