Design af genbrugeligt objektorienteret software

Størrelse: px
Starte visningen fra side:

Download "Design af genbrugeligt objektorienteret software"

Transkript

1 Velkommen Design af genbrugeligt objektorienteret software Evaluering af software ved hjælp af statiske mål. 24 februar 2004 Specialeforsvar af: Søren Gaardbo Jensen Design af genbrugeligt objektorienteret software p. 1/38

2 Motivation og baggrund Hvad er problemet? Design af genbrugeligt objektorienteret software p. 2/38

3 Motivation og baggrund Hvad er problemet? Hvad karakteriserer det gode design i forhold til genbrug og vedligeholdelse, og kan vi automatisk evaluere software så problematiske dele identificeres? Design af genbrugeligt objektorienteret software p. 2/38

4 Motivation og baggrund Hvad er problemet? Hvad karakteriserer det gode design i forhold til genbrug og vedligeholdelse, og kan vi automatisk evaluere software så problematiske dele identificeres? Reusability/Maintainability Profiler. Genbrug? - Vedligeholdelse? Design af genbrugeligt objektorienteret software p. 2/38

5 Strategi Strategi. Eksisterende softwaremål. Designprincipper og sammenhæng med softwaremålene. Tilstrækkelighed i mål. Eksperimenter. Design af genbrugeligt objektorienteret software p. 3/38

6 Afgrænsning Objektorienterede paradigme Java. Design af genbrugeligt objektorienteret software p. 4/38

7 Afgrænsning Objektorienterede paradigme Java. Ingen metadata. Design af genbrugeligt objektorienteret software p. 4/38

8 Afgrænsning Objektorienterede paradigme Java. Ingen metadata. Statiske mål. public class Receipt { private Sale sale; public Receipt(Sale _sale) { sale = _sale; } public String gettext() { float total=0; String receipt; receipt = sale.getcustomer().getname() + "\n"; receipt += sale.getcustomer().getaddress() + "\n\n"; SalesItems salesitems = sale.getsalesitems(); Product[] p = salesitems.getproducts(); } } for(int i=0; i<salesitems.getproductcount();i++) { receipt += p[i].getname() + "\t" + p[i].getpriceinclvat() +"\n"; total += p[i].getpriceinclvat(); } receipt += "\ntotal:\t\t" + total + "\n"; return receipt; Softwaremål CBO = 5 LOC = 18 Design af genbrugeligt objektorienteret software p. 4/38

9 Resultat Plug-in til Eclipse blev udviklet. Sammenhæng mellem nogle mål og principper. Nye mål blev konstrueret: Abstraktionsfaktorer. Kendskab. Design af genbrugeligt objektorienteret software p. 5/38

10 Konklusion Målene kan i nogen grad identificere potentielt problematisk kode. Kan ikke bruges helt uden metadata. Abstraktionsfaktorene ser lovende ud. Skal undersøges nærmere. Design af genbrugeligt objektorienteret software p. 6/38

11 Disposition Eksisterende softwaremål. Designprincipper og sammenhæng med softwaremålene. Tilstrækkelighed i mål. Eksperimenter. Konklusion. Design af genbrugeligt objektorienteret software p. 7/38

12 Softwaremål Strukturerede paradigme. Objektorienterede paradigme. To gennemgående begreber: Kobling. Kohæsion. Design af genbrugeligt objektorienteret software p. 8/38

13 Kobling & Kohæsion Kobling. Design af genbrugeligt objektorienteret software p. 9/38

14 Kobling & Kohæsion Kobling. Client +getyearssince(int year) MySystem +getcurrentyear() return MySystem.getCurrentYear() - year; // return years: yy Design af genbrugeligt objektorienteret software p. 9/38

15 Kobling & Kohæsion Kobling. Client +getyearssince(int year) MySystem +getcurrentyear() return MySystem.getCurrentYear() - year; // return years: yy Kobling fra client til MySystem. Design af genbrugeligt objektorienteret software p. 9/38

16 Kobling Ændringer i et modul kan kræve ændringer i koblede moduler. Svært at isolere til genbrugelige moduler. Svært at overskue: Kræver kendskab til koblede dele. Design af genbrugeligt objektorienteret software p. 10/38

17 Kohæsion Kohæsion. Design af genbrugeligt objektorienteret software p. 11/38

18 Kohæsion Kohæsion. +method(...) ClientF2C Converter +convert(int type, int value):int +method(...) ClientI2C Converter.convert( FAHRENHEIT_2_CELSIUS, 100) Converter.convert( INCHES_2_CM, 100) public int convert(int type, int value) { int result = 0; switch(type) { case FAHRENHEIT_2_CELSIUS: result = (int) ((value - 32) / 1.8); break; case INCHES_2_CM: result = (int) (value * 2.54); break; } return result; } Design af genbrugeligt objektorienteret software p. 11/38

19 Kohæsion Lettere at vedligeholde. Mindre fejlbehæftet [McConnell] Lav kohæsion er udtryk for uhensigtsmæssigt design. Design af genbrugeligt objektorienteret software p. 12/38

20 Måling af kobling Fan in/fan out. Coupling Between Object classes: CBO Coupling Factor: COF. Globale data Fan out (opdatering) Fan in (hentning) Fan in (Kald fra andre moduler) Modul Fan out (Kald til andre moduler) Design af genbrugeligt objektorienteret software p. 13/38

21 Måling af kohæsion Kan ikke måles! Design af genbrugeligt objektorienteret software p. 14/38

22 Måling af kohæsion Kan ikke måles! Lack of COhesion in Methods: LCOM. Flere versioner. Design af genbrugeligt objektorienteret software p. 14/38

23 Disposition Eksisterende softwaremål. Designprincipper og sammenhæng med softwaremålene. Tilstrækkelighed i mål. Eksperimenter. Konklusion. Design af genbrugeligt objektorienteret software p. 15/38

24 Designprincipper Der findes mange principper. Mange egenskaber kan ikke måles. Udvalgt fire principper: Information Expert. Polymorphism. Law of Demeter. Design mod et interface. Design af genbrugeligt objektorienteret software p. 16/38

25 Designprincipper Information Expert. Mindre kommunikation mellem klasser. Højere kohæsion i klassen. DataClass attributes 1..m OperationClass +operation 1..n Design af genbrugeligt objektorienteret software p. 17/38

26 Designprincipper Information Expert. Mindre kommunikation mellem klasser. Højere kohæsion i klassen. Ikke problemfrit. DataClass attributes 1..m OperationClass +operation 1..n Design af genbrugeligt objektorienteret software p. 17/38

27 Polymorphism Polymorphism. Bruges til udvidelser og erstatninger. Hvis princippet erstatter switch i kode, redureres koblingen. Receipt 1 1 Sale <<uses>> <<interface>> PrintDeviceInterface +print(string):void +setitalics(boolean):void +setboldface(boolean):void 1 1 PrintDeviceFactory ScreenPrintDevice <<creates>> Design af genbrugeligt objektorienteret software p. 18/38

28 Law of Demeter Law of Demeter. Receipt Sale Customer String +print() +getcustomer() +getname() -sale:sale -customer:customer -name:string customer.getname() return name; sale.getcustomer().getname() Sale Receipt Customer Design af genbrugeligt objektorienteret software p. 19/38

29 Law of Demeter - 2 Receipt Sale Customer String +print() +getcustomername() +getname() -sale:sale -customer:customer -name:string return customer.getname() return name; sale.getcustomername() Sale Receipt Customer Reducerer koblinger i systemet. Design af genbrugeligt objektorienteret software p. 20/38

30 Design mod et interface Design mod et interface. Generelt princip. Sikrer information hiding. Polymorphism afhænger af dette. Design af genbrugeligt objektorienteret software p. 21/38

31 Disposition Eksisterende softwaremål. Designprincipper og sammenhæng med softwaremålene. Tilstrækkelighed i mål. Eksperimenter. Konklusion. Design af genbrugeligt objektorienteret software p. 22/38

32 Tilstrækkelighed Ingen mål afslører brud på Design mod et interface. Design af genbrugeligt objektorienteret software p. 23/38

33 Tilstrækkelighed Ingen mål afslører brud på Design mod et interface. Abstraktionsfaktorer. Design af genbrugeligt objektorienteret software p. 23/38

34 Tilstrækkelighed Ingen mål afslører brud på Design mod et interface. Abstraktionsfaktorer. KoblingsAbstraktionsFaktor baseret på CBO. Design af genbrugeligt objektorienteret software p. 23/38

35 Abstraktionsfaktorerne Koblingsbaseret abstraktion er ikke altid tilstrækkelig. Design af genbrugeligt objektorienteret software p. 24/38

36 Abstraktionsfaktorerne Koblingsbaseret abstraktion er ikke altid tilstrækkelig. Design af genbrugeligt objektorienteret software p. 24/38

37 Kendskab Kendskab. Tæller samtlige typer der er kendskab til. Supermængde til CBO. Grænseklasser medtages i målet. Design af genbrugeligt objektorienteret software p. 25/38

38 Abstraktionsfaktorerne Forholdet mellem interface koblinger i forhold til samtlige koblinger. Forholdet mellem interface kendskaber i forhold til samtlige kendskaber. Design af genbrugeligt objektorienteret software p. 26/38

39 Disposition Eksisterende softwaremål. Designprincipper og sammenhæng med softwaremålene. Tilstrækkelighed i mål. Eksperimenter. Konklusion. Design af genbrugeligt objektorienteret software p. 27/38

40 Eksperimenter To forskellige eksperimenter. Tre softwaremål LCOM. CBO. Kendskabet. Design mod et interface. Abstraktionsfaktorene. Design af genbrugeligt objektorienteret software p. 28/38

41 Eksperimenter Information Expert. Kobling er reduceret. Kohæsion er forbedret (småt system). Kendskab er reduceret. Design af genbrugeligt objektorienteret software p. 29/38

42 Eksperimenter Polymorphism. Koblingen er bedre pga. omfordeling af koblingerne. Kohæsionen er uændret (småt system). Kendskab er reduceret. Design af genbrugeligt objektorienteret software p. 30/38

43 Eksperimenter Law of Demeter. Kobling er bedre pga. omfordeling af koblingerne. Kohæsionen er uændret (småt system). Kendskab er lidt reduceret uden parm. og lidt forøget med parm. Design af genbrugeligt objektorienteret software p. 31/38

44 Eksperimenter Svært at sige noget om kohæsionen pga. systemets størrelse. Generelt bliver koblinger reduceret. Generelt bliver kendskabet reduceret. Koblingsmålet kan måske bruges til identifikation af problematiske klasser. Design af genbrugeligt objektorienteret software p. 32/38

45 Eksperimenter - Abstraktionsfaktorene Interfaceprincippet i Eclipse & POS. To versioner: Kendskab & kobling. Forventet at Eclipse er mere abstrakt end POS. Design af genbrugeligt objektorienteret software p. 33/38

46 Kendskab Kendskab. Kendskab i Eclipse og Pos x = 0 0<x<10 10 <= x < <= x < <= x < <= x < <= x < <= x < <= x < 80 % af klasser 80 <= x < <= x < <= x Kendskab Eclipse Pos Kendskab (0 < kendskab <= 20) i Eclipse og Pos Eclipse Pos 0 < x <= 2 2 < x <= 4 4 < x <= 6 6 < x <= 8 8 < x <= < x <= < x <= < x <= < x <=18 18 < x <=20 Kendskab Design af genbrugeligt objektorienteret software p. 34/38 % af klasser

47 Kobling Kobling. Kobling (CBO) i Eclipse og Pos x = 0 0<x<10 10 <= x < <= x < <= x < <= x < <= x < <= x < <= x < 80 % af klasser 80 <= x < <= x < 100 CBO Eclipse Pos Kobling (CBO) i Eclipse og Pos (0 < CBO <=20) Eclipse Pos 0 < x <= 2 2 < x <= 4 4 < x <= 6 6 < x <= 8 8 < x <= < x <= < x <= < x <= < x <=18 18 < x <=20 CBO Design af genbrugeligt objektorienteret software p. 35/38 % af klasser

48 Abstraktionsfaktorerne Abstraktionsfaktorerne. Kendskabsabstraktionsfaktoren (KAF) i Eclipse og Pos x = 0 0 < x < <= x < <= x < <= x < <= x < <= x < <= x < <= x < <= x < <= x < 1 x = 1 % af klasser og interfaces KAF Eclipse Pos Koblingsabstraktionsfaktoren (CAF) i Eclipse og Pos Eclipse Pos x = 0 0 < x < <= x < <= x < <= x < <= x < <= x < <= x < <= x < <= x < <= x < 1 x = 1 CAF Design af genbrugeligt objektorienteret software p. 36/38 % af klasser

49 Disposition Eksisterende softwaremål. Designprincipper og sammenhæng med softwaremålene. Tilstrækkelighed i mål. Eksperimenter. Konklusion. Design af genbrugeligt objektorienteret software p. 37/38

50 Konklusion Der er en sammenhæng mellem designprincipper og mål. En automatisk identifikation af potentielt problematiske områder er mulig men... Design af genbrugeligt objektorienteret software p. 38/38

51 Konklusion Der er en sammenhæng mellem designprincipper og mål. En automatisk identifikation af potentielt problematiske områder er mulig men......der er brug for metadata for at kunne anvende resultaterne. Design af genbrugeligt objektorienteret software p. 38/38

52 Konklusion Der er en sammenhæng mellem designprincipper og mål. En automatisk identifikation af potentielt problematiske områder er mulig men......der er brug for metadata for at kunne anvende resultaterne. Eksperimenterne var for små til at sige noget om målet LCOM. Design af genbrugeligt objektorienteret software p. 38/38

53 Konklusion Der er en sammenhæng mellem designprincipper og mål. En automatisk identifikation af potentielt problematiske områder er mulig men......der er brug for metadata for at kunne anvende resultaterne. Eksperimenterne var for små til at sige noget om målet LCOM. Abstraktionsmålene forventes at sige noget om systemets generelle fleksibilitet, men skal undersøges nærmere. Design af genbrugeligt objektorienteret software p. 38/38

Design af genbrugeligt objektorienteret software Evaluering af software ved hjælp af statiske mål.

Design af genbrugeligt objektorienteret software Evaluering af software ved hjælp af statiske mål. Design af genbrugeligt objektorienteret software Evaluering af software ved hjælp af statiske mål. Speciale Januar 2004 af: Søren Gaardbo Jensen Vejleder: Eric Jul DIKU, Datalogisk Institut

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

Design by Contract Bertrand Meyer Design and Programming by Contract. Oversigt. Prædikater

Design by Contract Bertrand Meyer Design and Programming by Contract. Oversigt. Prædikater Design by Contract Bertrand Meyer 1986 Design and Programming by Contract Michael R. Hansen & Anne Haxthausen mrh@imm.dtu.dk Informatics and Mathematical Modelling Technical University of Denmark Design

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

Software Design (SWD) Spørgsmål 1

Software Design (SWD) Spørgsmål 1 Spørgsmål 1 Unified Process Du skal give en beskrivelse af Unified Process. Beskrivelsen skal indeholde forklaring på følgende begreber: Phase Iteration Discipline Activity Milestone Artifact Spørgsmål

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

Eksempel: et ordresystem note 5 Lagdeling s. 1

Eksempel: et ordresystem note 5 Lagdeling s. 1 Eksempel: et ordresystem note 5 Lagdeling s. 1 Eksempel: et ordre-system NiceHair er et firma, som sælger udstyr, inventar og frisørartikler til frisørsaloner over hele landet. Det er ejet af et ægtepar

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

Forelæsning Uge 3 Mandag

Forelæsning Uge 3 Mandag Forelæsning Uge 3 Mandag Niveauer af programbeskrivelser Statiske / dynamiske beskrivelser ArrayList Collection med variabelt antal elementer Der er mange andre Collection typer (se Collection interfacet

Læs mere

Tree klassen fra sidste forelæsning

Tree klassen fra sidste forelæsning Programmering 1999 Forelæsning 12, fredag 8. oktober 1999 Oversigt Abstrakte klasser. Grænseflader. Programmering 1999 KVL Side 12-1 Tree klassen fra sidste forelæsning class Tree { int age; // in years

Læs mere

Bemærk, der er tale om ældre versioner af softwaren, men fremgangsmåden er uændret.

Bemærk, der er tale om ældre versioner af softwaren, men fremgangsmåden er uændret. Check dine svar på: https://dtu.codejudge.net/02101-e18/ Exercise 1: Installer Eclipse og Java. Dette kan f.eks. gøres ved at følge instuktionerne i dokumentet eclipse intro.pdf som ligger under Fildeling

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

Forelæsning Uge 3 Torsdag

Forelæsning Uge 3 Torsdag Forelæsning Uge 3 Torsdag Billedredigering (bl.a. brug af for-løkker) Gråtonebilleder (som er lidt simplere end farvebilleder) Arrays Kan "opbevare" et antal objekter (som ArrayList) Fast (på forhånd kendt)

Læs mere

Software Design (SWD) Spørgsmål 1

Software Design (SWD) Spørgsmål 1 Spørgsmål 1 Unified Process Du skal give en beskrivelse af Unified Process. Beskrivelsen skal indeholde forklaring på følgende begreber: Phase Iteration Discipline Activity Milestone Artifact Spørgsmål

Læs mere

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

Software Construction 1. semester (SWC) januar 2014 Spørgsmål 1 Spørgsmål 1 Grundlæggende objektorienterede begreber o Klasse (class) o Objekt (object) o Metode (method), herunder return type og parametre o Instansvariable (instance variables) & egenskaber (properties),

Læs mere

Forelæsning Uge 5 Mandag

Forelæsning Uge 5 Mandag Forelæsning Uge 5 Mandag Algoritmeskabeloner findone, findall, findnoof, findsumof (sidste mandag) findbest Brug af klassen Collections og interfacet Comparable BlueJ s Debugger Nyttig til at inspicere

Læs mere

Modern Concurrency Abstractions for C#

Modern Concurrency Abstractions for C# Modern Concurrency Abstractions for C# Nick Benton Luca Cardelli Cédric Fournet Presenter: Henrik Kragh-Hansen September 27, 2007 Motivation for concurrency Forbedring af concurrency Baggrundsinformation

Læs mere

DANMARKS TEKNISKE UNIVERSITET

DANMARKS TEKNISKE UNIVERSITET DANMARKS TEKNISKE UNIVERSITET Skriftlig prøve, 14. december 2018, 4 timer Side 1 af 18 Kursus navn: 02101 Indledende Programmering Kursus : 02101 Tilladte hjælpemidler: Ikke-digitale skriftlige hjælpemidler

Læs mere

Introduktion til ActionScript, fortsat

Introduktion til ActionScript, fortsat Introduktion til ActionScript, fortsat Kaspar Rosengreen Nielsen kaspar@interactivespaces.net i n t e r a c t i v e s p a c e s. n e t Kaspar Nielsen, kaspar@interactivespaces.net 1 Dagens program Opsamling

Læs mere

Hvem er vi? Kursus Introduktion. Kursuslærerne. Agenda for i dag

Hvem er vi? Kursus Introduktion. Kursuslærerne. Agenda for i dag Hvem er vi? Kursus Introduktion Anne Haxthausen ah@imm.dtu.dk Informatics and Mathematical Modelling Technical University of Denmark 100 studerende med forskellig baggrund: software teknologi It og Kom

Læs mere

Forelæsning Uge 3 Torsdag

Forelæsning Uge 3 Torsdag Forelæsning Uge 3 Torsdag Billedredigering Gråtonebilleder (som er lidt simplere end farvebilleder) Arrays Kan "opbevare" et antal objekter (som ArrayList) Fast (på forhånd kendt) antal elementer Afleveringsopgave:

Læs mere

Real-time programming safety in Java and Ada

Real-time programming safety in Java and Ada Real-time programming safety in Java and Ada Bo Sandén Presenter: Thomas Bøgholm 25. oktober 2007 Forfatteren Artiklen Synkroniserings Begreber Bo Sandén Professor på Colorado Technical University Beskæftiger

Læs mere

Forelæsning Uge 2 Torsdag

Forelæsning Uge 2 Torsdag Forelæsning Uge 2 Torsdag Java syntax og style guide Sætninger Simple sætninger (assignment, interne og eksterne metodekald) Sammensatte sætninger (blok, selektion, gentagelse) Udtryk og operatorer Brug

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

Virkefeltsregler i Java

Virkefeltsregler i Java Virkefeltsregler i Java int i; int k; Sequence s; int j; What s in a name? Brian spillede blændende i søndags! Skolen ligger i Viby Ring til Kirsten og sig at... Et navn fortolkes i en kontekst og konteksten

Læs mere

Integrationsmanual. Anvendelse af webservice til kursusoversigt i Campus. Brugervejledning til udviklere

Integrationsmanual. Anvendelse af webservice til kursusoversigt i Campus. Brugervejledning til udviklere Integrationsmanual Anvendelse af webservice til kursusoversigt i Campus Brugervejledning til udviklere Moderniseringsstyrelsen Webservice manual til udviklere 2016 1 1. Indholdsfortegnelse Nyt kapitel

Læs mere

LinkGRC. Dokumenter. Brugermanual

LinkGRC. Dokumenter. Brugermanual Brugermanual 1 INDHOLD 1. Navigation 2. Dashboard 3. 4. Support 2 NAVIGATION 1 På forsiden finder du dine installerede moduler i LinkGRC løsningen og du kan her vælge hvilket modul du ønsker at arbejde

Læs mere

Miniprojekt2011. Formålet er at lære og indlære god objektorienteret programudvikling og programmering med Java, samt undervejs at opfylde studiekrav.

Miniprojekt2011. Formålet er at lære og indlære god objektorienteret programudvikling og programmering med Java, samt undervejs at opfylde studiekrav. Miniprojekt2011 Projektbeskrivelse Der skal fremstilles en lille java application på PC, hvor brugeren kan foretage interaktioner med en simpel database på disken via et grafisk brugerinterface. Formålet

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

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

b) Udvid din implementation af forme til at understøtte.equals. To objekter af samme form er ens hvis de har samme værdier i felterne.

b) Udvid din implementation af forme til at understøtte.equals. To objekter af samme form er ens hvis de har samme værdier i felterne. Exercise 1: Opgave 9.1 på CodeJudge. a) Lav klasserne Cirkel, Rektangel og Kvadrat, som implementerer vedhæftede interface From.java (se CodeJudge). Lav Rektangel før du laver Kvadrat. Kan du bruge nedarvning

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

Forelæsning Uge 2 Mandag

Forelæsning Uge 2 Mandag Forelæsning Uge 2 Mandag Sætninger Simple sætninger (assignment, interne og eksterne metodekald) Sammensatte sætninger (blok, selektion, gentagelse) Udtryk og operatorer Java syntax og style guide Afleveringsopgave:

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

Test med JUnit 3. Denne artikel introducerer JUnit 3. Den forklarer ideen med JUnit. Og den viser hvordan man konkret bruger det.

Test med JUnit 3. Denne artikel introducerer JUnit 3. Den forklarer ideen med JUnit. Og den viser hvordan man konkret bruger det. Denne guide er oprindeligt udgivet på Eksperten.dk Test med JUnit 3 Denne artikel introducerer JUnit 3. Den forklarer ideen med JUnit. Og den viser hvordan man konkret bruger det. Den forudsætter kendskab

Læs mere

Forelæsning Uge 2 Mandag

Forelæsning Uge 2 Mandag Forelæsning Uge 2 Mandag Sætninger Simple sætninger (assignment, interne og eksterne metodekald) Sammensatte sætninger (blok, selektion, gentagelse) Udtryk og operatorer Java syntax og style guide Afleveringsopgaver

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

Lektion 3. Grundlæggende programmering i VR

Lektion 3. Grundlæggende programmering i VR Lektion 3 Grundlæggende programmering i VR Plan for i dag UML Usecase diagrammer Aktivitets diagrammer Klasse diagrammer Udforskning af forskelligt VR og andre måder at udvide virkeligheden på Cardboard

Læs mere

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

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 6 DM502 Forelæsning 6 Klasser og objekter Introduktion Math-klassen Indhold Klasser vs. objekter Først et tænkt eksempel: Vi vil lave en bil i Java 1. spørgsmål: Hvad karakteriserer en bil? Model År Farve...

Læs mere

Lær Python - Dag 4, modul 1 Objektorienteret programmering

Lær Python - Dag 4, modul 1 Objektorienteret programmering Lær Python - Dag 4, modul 1 Objektorienteret programmering Simon J. Larsen 28. oktober 2017 Institut for Matematik og Datalogi Objektorienteret programmering Hvad er objektorienteret programmering? Vi

Læs mere

Google App Engine. Google App Engine som platform. Claus Myglegaard Vagner og Jacob von Eyben

Google App Engine. Google App Engine som platform. Claus Myglegaard Vagner og Jacob von Eyben GoogleAppEngine GoogleAppEnginesomplatform ClausMyglegaardVagnerogJacobvonEyben Abstract CloudcomputingerenteknologidervinderfremidengenerelleITinfrastruktur. SocialemediersåsomLinkedIn,TwitterogFacebookharøgetbehovetfor

Læs mere

30 Objekt-orienteret Programmering i Andre Sprog.

30 Objekt-orienteret Programmering i Andre Sprog. 30 Objekt-orienteret Programmering i Andre Sprog. Abstrakte datatyper i Pascal. Abstrakte datatyper i Modula og Ada. C++ Overordnet organisering Instantiering og initialisering. Interfaces. Nedarvning.

Læs mere

Software 1 with Java. Recitation No. 7 (Servlets, Inheritance)

Software 1 with Java. Recitation No. 7 (Servlets, Inheritance) Software 1 with Java Recitation No. 7 (Servlets, Inheritance) Servlets Java modules that run on a Web server to answer client requests For example: Processing data submitted by a browser Providing dynamic

Læs mere

Test af It-komponent

Test af It-komponent Test af It-komponent I programmeringssproget Java Programmet Login service Elev: Mads Funch Klasse 2.4 Mat, It, Programmering Skole: Roskilde Tekniske Gymnasium HTX Underviser: Karl Dato: 31-08-2016 Side

Læs mere

Databaseadgang fra Java

Databaseadgang fra Java Databaseadgang fra Java Grundlæggende Programmering med Projekt Peter Sestoft Fredag 2007-11-23 Relationsdatabasesystemer Der er mange databaseservere Microsoft Access del af Microsoft Office MySQL god,

Læs mere

Datastrukturer. Datastruktur = data + operationer herpå

Datastrukturer. Datastruktur = data + operationer herpå Prioritetskøer Prioritetskøer? Datastrukturer Datastruktur = data + operationer herpå Datastrukturer Data: Datastruktur = data + operationer herpå Ofte en ID + associeret data. ID kaldes også en nøgle

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

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

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

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

Software Design (SWD) Spørgsmål 1

Software Design (SWD) Spørgsmål 1 Spørgsmål 1 Unified Process Du skal give en beskrivelse af Unified Process. Beskrivelsen skal indeholde forklaring på følgende begreber: Phase Iteration Discipline Artifact Milestone Du skal relaterer

Læs mere

Objects First with Java A Practical Introduction Using BlueJ

Objects First with Java A Practical Introduction Using BlueJ Objects First with Java A Practical Introduction Using BlueJ En introduktion til objektorienteret programmering for begyndere ud fra et software engineering aspekt Om at programmere i Java, ikke om værktøjet

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

Vejledende løsninger

Vejledende løsninger Roskilde Universitetscenter side 1 af 8 sider Vejledende løsninger Opgave 1 Spørgsmål 1.1 a = b - a; b = b - a; a = b + a; Opgaven har flere løsninger. En anden løsning er: a = b + a; b = a - b; a = a

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

Strategisk partnerskab mellem KMD og SAP

Strategisk partnerskab mellem KMD og SAP DIAS 1 Strategisk partnerskab mellem KMD og SAP Jan Hesthaven Afdelingsdirektør SAP Strategic Partner Management Størrelsesforholdet mellem KMD og SAP AG DIAS 2 KMD er store i Danmark og i Norden Omsætning

Læs mere

Forelæsning Uge 2 Mandag

Forelæsning Uge 2 Mandag Forelæsning Uge 2 Mandag Sætninger Simple sætninger (assignment, interne og eksterne metodekald) Sammensatte sætninger (blok, selektion, gentagelse) Udtryk og operatorer Java syntax og style guide Afleveringsopgaver

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 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

Lær Python dag 1 - modul 1

Lær Python dag 1 - modul 1 Lær Python dag 1 - modul 1 Introduktion, basis python Steffen Berg Klenow Jonas Bamse Andersen Syddansk Universitet Indhold 1. Velkommen 2. Programmering i python 3. Typer, variabler og udtryk 1 Velkommen

Læs mere

Forelæsning Uge 1 Torsdag

Forelæsning Uge 1 Torsdag Forelæsning Uge 1 Torsdag Objekters tilstand og opførsel Java og BlueJ Skabelse af objekter (via new-operatoren) Iteration (gentagelser) og parametrisering Java's for løkke Parametre i metoder Forskellige

Læs mere

ELEKTRONISK INDBERETNING POST 23/8 2007 VERSION 1.13

ELEKTRONISK INDBERETNING POST 23/8 2007 VERSION 1.13 ELEKTRONISK INDBERETNING POST 23/8 2007 VERSION 1.13 Indhold Indhold... 2 Introduktion... 3 dk.hob.ei.general.plugin... 4 Metoder... 4 GetPrivateMail... 4 GetPrivateMailNext... 7 DeletePrivateMailEx...

Læs mere

Specialeforsvar: Fundamentet for et fleksibelt container bibliotek

Specialeforsvar: Fundamentet for et fleksibelt container bibliotek Specialeforsvar: Fundamentet for et fleksibelt container bibliotek Foundations of an adaptable container library Bo Simonsen Datalogisk Institut, Københavns Universitet Denne præsentation, afhandlingen,

Læs mere

Forelæsning Uge 6 Mandag

Forelæsning Uge 6 Mandag Forelæsning Uge 6 Mandag Tingene i denne forelæsning er ikke eksamenspensum Forelæsningen afrunder kurset, og forklarer nogle af de begreber, som I har mødt under kurset uden at få detaljeret forklaring

Læs mere

Forelæsning Uge 2 Mandag

Forelæsning Uge 2 Mandag Forelæsning Uge 2 Mandag Sætninger Simple sætninger (assignment, interne og eksterne metodekald) Sammensatte sætninger (blok, selektion, gentagelse) Udtryk og operatorer Java syntax og style guide Afleveringsopgave:

Læs mere

Oversigt. Modellering.6. Begrebsmodellering. Begrebsapparat til OO. Fænomener og begreber. Objektorienteret modellering

Oversigt. Modellering.6. Begrebsmodellering. Begrebsapparat til OO. Fænomener og begreber. Objektorienteret modellering Oversigt Modellering Begrebsmodellering, UML og Java Begrebsapparat til objektorientering Begrebsopfattelser og -modellering Strukturer: specialisering, aggregering, associering Anvendes til organisering

Læs mere

Ugeseddel 4 1. marts - 8. marts

Ugeseddel 4 1. marts - 8. marts Ugeseddel 4 1. marts - 8. marts Læs følgende sider i kapitel 6 i lærebogen: s. 233 258 og s. 291 317 (afsnit 6.3 overspringes). Begynd at overveje, hvad afleveringsopgaven skal omhandle. Læs vejledningen,

Læs mere

Lektion 6. Grundlæggende programmering i VR

Lektion 6. Grundlæggende programmering i VR Lektion 6 Grundlæggende programmering i VR Plan for i dag Simpelt FPS Triggerzones og animationer C# og objekt orienteret programmering Interfaces Generics Google Cardboard Video om VRs fremtid App til

Læs mere

Software Design (SWD) Spørgsmål 1

Software Design (SWD) Spørgsmål 1 Spørgsmål 1 Unified Process Du skal give en beskrivelse af Unified Process. Beskrivelsen skal indeholde forklaring på følgende begreber: Phase Iteration Discipline Artifact Milestone Du skal relaterer

Læs mere

Introduktion til OO* og UML

Introduktion til OO* og UML Introduktion til OO* og UML Struktureret Systemudvikling Jan Bendtsen Automation and Control Indhold Hvad er OO*? UML Essensen af objekt-orienteret analyse og design: klassebegrebet Relationer mellem objekter

Læs mere

Java Klasse nedarvninger

Java Klasse nedarvninger Denne guide er oprindeligt udgivet på Eksperten.dk Java Klasse nedarvninger Et let lille overblik i hvordan klasse nedarvning virker i java Skrevet den 07. dec 2011 af mochners I kategorien Programmering

Læs mere

Om binære søgetræer i Java

Om binære søgetræer i Java Om binære søgetræer i Java Mads Rosendahl 7. november 2002 Resumé En fix måde at gemme data på er i en træstruktur. Måden er nyttig hvis man får noget data ind og man gerne vil have at det gemt i en sorteret

Læs mere

Databasesystemer. Databaser, efterår Troels Andreasen. Efterår 2002

Databasesystemer. Databaser, efterår Troels Andreasen. Efterår 2002 Databaser, efterår 2002 Databasesystemer Troels Andreasen Datalogiafdelingen, hus 42.1 Roskilde Universitetscenter Universitetsvej 1 Postboks 260 4000 Roskilde Telefon: 4674 2000 Fax: 4674 3072 www.dat.ruc.dk

Læs mere

SigmaT.

SigmaT. Java + Groovy Disposition Om SigmaT Eksempel på indlejring af Groovy Overvågning af PEM Ønske om dynamisk loaded Java uden at fifle med classloaderen Groovy til hjælp Opsamling hvad jeg ikke har fortalt

Læs mere

Installation og ibrugtagning af Geomagic Alibre Vault

Installation og ibrugtagning af Geomagic Alibre Vault Karl Lausten Bright Ideas Tlf.:+45 98 62 28 37 Mejsevej 8 Email: klausten@bright-ideas.dk DK-9600 Aars www.bright-ideas.dk CVR 26 85 59 69 12.02.2014 Installation og ibrugtagning af Geomagic Alibre Vault

Læs mere

5. Vores Skole bruger verden hver dag

5. Vores Skole bruger verden hver dag 5. Vores Skole bruger verden hver dag Skoler og virksomheder kan få mere ud af hinanden Skoler og virksomheder kan indgå både dybere og længerevarende samarbejder, der kan være med til at forberede eleverne

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

Thermo Surveillance System TSS

Thermo Surveillance System TSS Teknisk Informationsteknologi Ingeniørhøjskolen Aarhus Projekt: TI-OOMI Dato: 15.12.2003 Thermo Surveillance System TSS GRUPPE Tommy Andreasen 20030336 Anders Dyhrberg 20033981 Mette Vestergaard au2227

Læs mere

Tredjepart webservices

Tredjepart webservices Tredjepart webservices 4. juni 2015 USS Dok. Klik her for at angive tekst. 1/12 Indholdsfortegnelse Introduktion... 3 Miljøer... 3 Adgang... 3 API kald... 4 GET: /authorizations... 4 Input 4 Output 4 Output

Læs mere

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

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2016 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 29. februar, 2016 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

MapBasic &.NET interaktion. MapBasic.NET. Jakob Lanstorp IT konsulent COWI. Odense 23. Juni 2011. 1 8 jun 2011 MapBasic &.

MapBasic &.NET interaktion. MapBasic.NET. Jakob Lanstorp IT konsulent COWI. Odense 23. Juni 2011. 1 8 jun 2011 MapBasic &. MapBasic &.NET interaktion MapBasic.NET Jakob Lanstorp IT konsulent COWI Odense 23. Juni 2011 1 MapBasic &.NET interaktion Erfaring med MapBasic.NET / Visual Studio Anden programmering 2 Program Hurtig

Læs mere

Skriftlig eksamen i Datalogi

Skriftlig eksamen i Datalogi Roskilde Universitetscenter Skriftlig eksamen i Datalogi Modul 1 Vinter 1998/99 Opgavesættet består af 5 opgaver, der ved bedømmelsen tillægges følgende vægte: Opgave 1 16% Opgave 2 12% Opgave 3 10% Opgave

Læs mere

Anvendelse af metoder - Programmering

Anvendelse af metoder - Programmering Denne guide er oprindeligt udgivet på Eksperten.dk Anvendelse af metoder - Programmering En forhåbentlig rigtig god forklaring på hvad metoder er og hvordan de anvendes. Lidt om private og public, retur

Læs mere

Sider og segmenter. dopsys 1

Sider og segmenter. dopsys 1 Sider og segmenter dopsys 1 Lokal vs global sideallokering (1) Med (a) som udgangspunkt giver (b) lokal hhv. (c) global allokering forskellige resultater dopsys 2 Lokal vs global sideallokering (2) Den

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2019 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 27. februar, 2019 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

Sider og segmenter. dopsys 1

Sider og segmenter. dopsys 1 Sider og segmenter dopsys 1 Lokal vs global sideallokering (1) Med (a) som udgangspunkt giver (b) lokal hhv. (c) global allokering forskellige resultater dopsys 2 Lokal vs global sideallokering (2) Den

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

Begreber om Godt Software

Begreber om Godt Software Begreber om Godt Software Maintainability (vedligeholdelse): Softwarens evne til at blive ændret (funktionalitet, rettet, forbedrelser, miljø, krav). - Analyserbart: Evnen til at blive fejldiagnosticeret,

Læs mere

Webserverprogrammering

Webserverprogrammering Webserverprogrammering WSP fortsat - dag 11 Behandling af XML (StAX) Syndikering og RSS med XML JAXB - XML Java-objekter Projekthjælp Dette materiale er under Åben Dokumentlicens, se http://www.sslug.dk/linuxbog/licens.html

Læs mere

IBM WebSphere Operational Decision Management

IBM WebSphere Operational Decision Management IBM WebSphere Operational Decision Management 8 0 49., WebSphere Operational Decision Management 8, 0, 0. Copyright IBM Corporation 2008, 2012. ........... 1 :......... 1 Miniloan........ 3 1:........

Læs mere

Udvikling af DOTNET applikationer til MicroStation i C#

Udvikling af DOTNET applikationer til MicroStation i C# Udvikling af DOTNET applikationer til MicroStation i C# Praktiske tips for at komme i gang. Gunnar Jul Jensen, Cowi Hvorfor nu det? Mdl og Vba kan det hele Fordelene er : udviklingsmiljøet er eksternt

Læs mere

Installere Windows Custom PostScript- eller PCL-printerdriverne

Installere Windows Custom PostScript- eller PCL-printerdriverne Installere Windows Custom PostScript- eller PCL-printerdriverne Denne fil med vigtige oplysninger indeholder en vejledning til installation af Custom PostScript- eller PCL-printerdriveren på Windows-systemer.

Læs mere

Forelæsning Uge 4 Torsdag

Forelæsning Uge 4 Torsdag Forelæsning Uge 4 Torsdag Algoritmeskabeloner findone, findall, findnoof, findsumof (i mandags) findbest Levetid for variabler og parametre Virkefeltsregler Hvor kan man bruge de forskellige variabler?

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

Forelæsning Uge 4 Torsdag

Forelæsning Uge 4 Torsdag Forelæsning Uge 4 Torsdag Algoritmeskabeloner findone, findall, findnoof, findsumof (sidste mandag) findbest Levetid for variabler og parametre Virkefeltsregler Hvor kan man bruge de forskellige variabler?

Læs mere

Datastrukturer. Datastruktur = data + operationer herpå

Datastrukturer. Datastruktur = data + operationer herpå Prioritetskøer Prioritetskøer? Datastrukturer Datastruktur = data + operationer herpå Datastrukturer Data: Datastruktur = data + operationer herpå Ofte en ID + associeret data. ID kaldes også en nøgle

Læs mere

Hvad er et distribueret objekt? Plan 12.3. Objekter, objektreferencer, metoder, parameteroverførsel. Objekter: notation

Hvad er et distribueret objekt? Plan 12.3. Objekter, objektreferencer, metoder, parameteroverførsel. Objekter: notation Plan 12.3. Oversigt over grundlæggende begreber Java: eksempel på applikation, programmering og oversættelse Uddybning af grundlæggende begreber Java RMI implementation Forklaring af øvelsen Hvad er et

Læs mere

BOSK F2012, 1. del: Prædikatslogik

BOSK F2012, 1. del: Prædikatslogik ε > 0. δ > 0. x. x a < δ f (x) L < ε February 8, 2012 Prædikater Vi skal lære om prædikatslogik lad os starte med prædikater. Et prædikat er et orakel der svarer ja eller nej. Eller mere præcist: Prædikater

Læs mere

Klasser og nedarvning

Klasser og nedarvning Datalogi C, Efterår 2004 OH er, forelæsning 21/9-2004 Klasser og nedarvning Hvad er formålet? Typer, generisk kode, typeparameterisering Kritisk kig på, hvordan man gør i Java. Opgaven til senere: Generalisere

Læs mere