Forelæsning Uge 2 Mandag
|
|
- Magdalene Clausen
- 4 år siden
- Visninger:
Transkript
1 Forelæsning Uge 2 Mandag Objekters tilstand og opførsel BlueJ og Greenfoot Java Skabelse af objekter (via new-operatoren) Iteration (gentagelser) og parametrisering Forskellige slags variabler Afleveringsopgave: Raflebæger 1 (DieCup 1)
2 Objekters tilstand og opførsel Tilstand Objekters tilstand er defineret ved et sæt af feltvariabler alle objekter (af en given klasse) har de samme feltvariabler ethvert objekt har sin egen tilstand (værdier af feltvariabler) Opførsel objekters opførsel er defineret ved et sæt konstruktører og metoder alle objekter (af en given klasse) har de samme konstruktører og metoder 2
3 Objekters tilstand og opførsel i BlueJ 3
4 Objekters tilstand og opførsel i BlueJ 4
5 Objekters tilstand og opførsel i BlueJ 5
6 Objekters tilstand og opførsel i Greenfoot 6
7 Objekters tilstand og opførsel i Greenfoot 7
8 Objekters tilstand og opførsel i Greenfoot 8
9 Objekters tilstand og opførsel i Java public class Person { private String name; private int age; public Person(String n, int a) { name = n; age = a; public String getname() { return name; Tilstand beskrives ved hjælp af feltvariabler Navn Type Access modifier (private) public void setname(string n) { name = n; public int getage() { return age; public void birthday() { age= age + 1; System.out.println("Happy birthday " + name + "!"); 9
10 Objekters tilstand og opførsel i Java public class Person { private String name; private int age; public Person(String n, int a) { name = n; age = a; public String getname() { return name; public void setname(string n) { name = n; Opførsel beskrives ved hjælp af Konstruktører Metoder Accessor (get) Mutator (set) public int getage() { return age; public void birthday() { age = age + 1; System.out.println("Happy birthday " + name + "!"); 10
11 Signatur for konstruktører og metoder public class Person { private String name; private int age; public Person(String n, int a) { name = n; age = a; public String getname() { return name; public void setname(string n) { name = n; public int getage() { return age; Navn Konstruktører: klassens navn Parameterliste Kan være tom: () Returtype Kan være tom: void Konstruktører: mangler Access modifier (public) public void birthday() { age= age + 1; System.out.println("Happy birthday " + name + "!"); 11
12 Feltvariabler, konstruktører og metoder public class Person { private String name; private int age; public Person(String n, int a) { Feltvariabler (attributter) bestemmer objektets tilstand erklæres altid private kan kun tilgås fra klassens egne konstruktører og metoder (vedkommer ikke andre) public int getage() { public void birthday() { Konstruktører og metoder bestemmer objektets opførsel grænseflade til omverdenen erklæres oftest public kan kaldes fra objekter af alle klasser 12
13 Klasser og typer Enhver klasse bestemmer en type En objekt type er en type, der er bestemt via en klasse De mulige værdier i typen er de objekter, der kan skabes (instansieres) af den pågældende klasse Ex: Person, Date, Wombat og WombatWorld er objekt typer Navne på objekt typer skrives med stor begyndelsesbogstav (de er navne på klasser) Primitive typer Har simple værdier, der ikke er objekter Ex: heltal (int), reelle tal (double) og tegn (char) Navne på primitive typer skrives med lille begyndelsesbogstav Bemærk at String er en objekt type 13
14 Skabelse af objekter (new operator) public class Person { private String name; private int age; private boolean female; private Person father; public Person(String n, int a, boolean sex) { name = n; age = a; female = sex; private Person p1; p1 = new Person("Susan", 42, true); p1:person name age Person 42 0 String "Susan" female false true father 14
15 Endnu et objekt private Person p2; p2 = new Person("Peter", 69, false); p2:person name age Person 69 0 String "Peter" For feltvariabler af primitiv type repræsenteres værdien direkte i objektet (f.eks. age og female) p1:person female false father Person name age 42 For feltvariabler af objekt type repræsenteres værdien via en reference til det pågældende objekt (f.eks. name og father) String "Susan" female true father 15
16 Metoden setfather p1.setfather(p2); public void setfather(person p) { father = p; p2:person name age Person 69 String "Peter" female father false UML Objektdiagram (dynamisk) p1:person name age Person 42 String "Susan" female true father 16
17 Metoden birthday p1.birthday(); Klasse (fra Java s klasse bibliotek) public void birthday() { age= age + 1; System.out.println("Happy birthday " + name + "!"); Klassevariabel (af typen PrintStream) Metode (printer linje på terminal) Konkatenering (sammensætning) p1:person name age Person String "Susan" female true father 17
18 Én person to referencer private Person p1, p2; p1 = new Person("Susan", 42, true); p2 = p1; p1.birthday(); p2.birhtday(); p2:person p1:person name age Person String "Susan" female true father 18
19 To personer én reference private Person p1; p1 = new Person("Susan", 42, true) p1 = new Person("Peter", 69, false); p1.birthday(); name age Person String "Peter" female false father p1:person name age Person 42 String "Susan" female father true Vi kan ikke længere bruge dette objekt (ingen referencer til det) 19
20 Iteration og parametrisering (0,0) Skildpadde Greenfoot Skildpaddens tilstand: Position: (x,y) Vinkel: (360) World (800,600) 90 Farve: : Pen status: up/down Tilstand: ((100, 100), 0, black, up) 20
21 Klassediagram UML Turtle move(int d) moveto(int x, int y) turn(double a) turnto(double a) penup() pendown() erase() SkilledTurtle square(int length) spiral() Greenfoot Pilene (med trekantet hoved) angiver at SkilledTurtle er en subklasse af Turtle, der igen er en subklasse af Actor En subklasse arver superklassens feltvariabler og metoder (også selv om de er private) Metoderne kan dog ændres (forfines) i subklassen 21
22 SkilledTurtle public class SkilledTurtle extends Turtle { Specificerer at SkilledTurtle er en subklasse af Turtle Vi siger også, at Turtle er en superklasse for SkilledTurtle 22
23 Gentagelser //tegn et kvadrat move(100); turn(90); move(100); turn(90); move(100); turn(90); move(100); turn(90); //tegn et kvadrat gentag 4 gange { move(100); turn(90); //tegn en tolvkant move(100); turn(30); move(100); turn(30); move(100); turn(30); move(100); turn(30); move(100); turn(30); move(100); turn(30); move(100); turn(30); move(100); turn(30); move(100); turn(30); //tegn en tolvkant gentag 12 gange { move(100); turn(30); Hurtigere at skrive Nemmere at læse og forstå Lettere at vedligeholde (rette i) 23
24 For-løkke i Java ERKLÆRING + INITIALISERING Lokal variable i af type int med startværdi 0 TEST Falsk Sand Keyword (reserveret ord) KROP move(100); turn(90); for( int i=0 ; i<4 ; i++ ) { move(100); turn(90); OPDATERING i++ i = i+1 24
25 Metode: kvadrat med længde 100 public class SkilledTurtle extends Turtle { /** tegner et kvadrat med sidelængde 100 */ public void square100() { for ( int i=0; i<4; i++ ) { move (100); Længden 100 indsat direkte i metoden turn (90); I stedet kunne vi angive længden ved hjælp af en parameter Det ville være smartere at lave en metode, der kan tegne kvadrater af vilkårlig størrelse. 25
26 Metode: kvadrat med vilkårlig størrelse public class SkilledTurtle extends Turtle { /** tegner et kvadrat med sidelængde length */ public void square(int length ) { for ( int i=0; i<4; i++ ) { Parameter move( length ); i square turn(90); Argument i move Det ville være smartere at lave en metode, der kan tegne ligesidede figurer med et vilkårligt antal sider 26
27 Metode: polygon med vilkårligt antal sider public class SkilledTurtle extends Turtle { /** tegner en n-kant med sidelængde length */ public void polygon(int length, int n) { for ( int i=0; i<n; i++ ) { move(length); turn(360/n); 27
28 Generel metode specifikke metoder Vi kan benytte den generelle metode polygon til at konstruere mere specifikke metoder, der kan tegne kvadrater og cirkler. public class SkilledTurtle extends Turtle { /** tegner en n-kant med sidelængde length public void polygon(int length, int n) { /** tegner et kvadrat med sidelængde length */ public void square(int length) { polygon(length, 4); /** tegner en cirkel med en given radius */ public void circle(int radius) { polygon(calclength(radius), 360); 28
29 Vigtige principper for god programmering Det kan betale sig at lave gode generelle metoder, som kan genbruges i mange situationer Parametrisering er nøglen hertil Det er svært at "opfinde" gode generelle metoder, dvs. at gå fra det konkrete til det generelle men forsøg! Skeln mellem anvendelse og implementation Når man anvender en metode, er det vigtigt at forstå hvad operationen gør Når man implementerer en metode, skal man tage stilling til, hvordan den skal gøre det I skal også skelne selv om I både er anvender og implementør 29
30 Forskellige slags variabler Feltvariabler Tilhører objektet Lever og dør med dette private som access modifier Parametre Hjælpe variabel Løkke variabel public class SkilledTurtle extends Turtle { private String color; public void polygon( int length, int n) { double angle = 360/n; for ( int i=0; i<n; i++ ) { move(length); turn(angle); Lokale variabler Tilhører metoden Lever og dør med denne Ingen access modifier 30
31 Afleveringsopgave: Raflebæger 1 (DieCup 1) I BlueJ implementeres et system med et raflebæger og to terninger Raflebæger Terning Terning har to metoder: roll() repræsenterer et kast med terningen geteyes() returnere det viste antal øjne (i sidste slag) Raflebæger indeholder to terninger og har to metoder: roll() repræsenterer et kast med de to terninger geteyes() returnere det viste antal øjne (i sidste slag) Tilfældige kast kan modelleres ved hjælp af klassen Random fra Java s klasse bibliotek (i opgaven er det forklaret, hvordan dette gøres) 31
32 Opsummering Objekters tilstand og opførsel BlueJ og Greenfoot Java Skabelse af objekter (via new-operatoren) Objekt referencer Iteration (gentagelser) Java s for-løkke Parametrisering Lav gode generelle metoder Skeln mellem anvendelse og implementation Afleveringsopgave: Raflebæger 1 (DieCup 1) 32
33 CS Challenge Henvender sig til alle 1. års studerende, der følger den introducerende datalogiundervisning Det er et tilbud, og derfor på ingen måde obligatorisk Der stilles seks sjove udfordringer inden for programmering De skal løses hen over efteråret (første aflevering 11. september) Hver udfordring illustrerer universelle principper om algoritmer og programmer Det handler mere om at tænke end at knokle. Deltagerne får detaljeret feedback på deres løsninger CS Challenge kan tælle med i talentforløb Ekstra udfordringer til særligt talentfulde bachelorstuderende på datalogi og it Anerkendelse herfor på eksamensbevis Søges ved starten af 2. studieår Kræver karaktergennemsnit på 10 fra 1.studieår Mere information: cs.au.dk/challenge 33
34 Studiestartsprøve Gælder alle nye bachelorstuderende Prøvens hovedformål er at identificere de studerende, der ikke har påbegyndt studiet, så de kan udmeldes inden det officielle sommeroptag opgøres Mandag den 5. september 2016 vil I modtage en mail på jeres au-mailadresse Mailen indeholder et link til et spørgeskema, som I skal besvare. Det er obligatorisk at gennemføre studiestartsprøven, da den bruges til at registrere, om I er studieaktive. I skal besvare spørgeskemaet inden fredag d. 9. september 2016 kl
35 Universitetsstudier er hårdt arbejde Vi forventer, at I arbejder 45 timer pr uge, dvs. 15 timer pr kursus Svarer til en 37 timers arbejdsuge når de eksamens- og undervisningsfrie perioder tages med i beregningen Brug gerne Studiecaféen, som jeres "kontor" Underetagen af bygning 5342, IT-Parken, Åbogade 34 (spørg efter Ada-0) Lokalerne kan benyttes 24/7 Bemandet med to dintprog instruktorer Mandag Onsdag Fredag Studiecaféen er primært tiltænkt Datalogi- og IT-studerende, men andre dintprog studerende er velkomne på ovenstående tidspunkter 35
36 Fast timeplan Som ny studerende kan det være en god ide at lave et fast arbejdsskema, således at tingene ikke bare flyder MAN TIR ONS TOR FRE LØR SØN 8-9 TØ fri fri fri forelæsning fri fri 9-10 TØ studiecafé fri TØ forelæsning fri fri studiecafé studiecafé studiecafé TØ studiecafé fri fri frokost studiecafé studiecafé frokost studiecafé fri fri forelæsning studiecafé frokost studiecafé frokost fri fri forelæsning frokost TØ studiecafé studiecafé fri fri forelæsning studiecafé TØ forelæsning læsegruppe fri fri forelæsning studiecafé studiecafé forelæsning læsegruppe fri studer fri læsegruppe studiecafé fri fri fri studer fri læsegruppe fri fri fri fri studer fri fri fri fri fri fri fri fri fri fri fri fri fri fri studer fri læsegruppe studer fri fri studer studer fri læsegruppe studer fri fri studer 36
37 Det var alt for nu.. spørgsmål 37
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 mereForelæ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 mereKlasser 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 mereForelæ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 mereForelæ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 mereForelæ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 mereForelæ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 mereForelæ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 mereForelæsning Uge 2 Torsdag
Forelæsning Uge 2 Torsdag Niveauer af programbeskrivelser Statiske / dynamiske beskrivelser Klassevariabler og klassemetoder Variabler og metoder der et tilknyttet klassen (i stedet for at være tilknyttet
Læs mereForelæsning Uge 2 Torsdag
Forelæsning Uge 2 Torsdag Niveauer af programbeskrivelser Statiske / dynamiske beskrivelser Klassevariabler og klassemetoder Variabler og metoder der et tilknyttet klassen (i stedet for at være tilknyttet
Læs mereForelæsning Uge 3 Mandag
Forelæsning Uge 3 Mandag ArrayList klassen Gør det let at lave en objektsamling (collection) med et variabelt antal elementer Der er mange andre slags objektsamlinger (se Collection interfacet i JavaDoc)
Læs mereForelæsning Uge 2 Torsdag
Forelæsning Uge 2 Torsdag Niveauer af programbeskrivelser Statiske / dynamiske beskrivelser Klassevariabler og klassemetoder Variabler og metoder der et tilknyttet klassen (i stedet for at være tilknyttet
Læs mereForelæ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 mereForelæsning Uge 4 Mandag
Forelæsning Uge 4 Mandag Algoritmeskabeloner Kan (ved simple tilretningerne) bruges til at implementere metoder, der gennemsøger en arrayliste (eller anden objektsamling) og finder objekter, der opfylder
Læs meredintprog 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 mereForelæsning Uge 3 Mandag
Forelæsning Uge 3 Mandag ArrayList Collection med variabelt antal elementer Der er mange andre Collection typer (se Collection interfacet i JavaDoc) MusicOrganizer projektet Eksempel på brug af ArrayList
Læs mereForelæsning Uge 4 Mandag
Forelæsning Uge 4 Mandag Algoritmeskabeloner findone, findall, findnoof, findsumof Primitive typer (forfremmelse og begrænsning) Identitet versus lighed (for objekter, herunder strenge) Opfølgning på Skildpadde
Læs mereForelæsning Uge 3 Mandag
Forelæsning Uge 3 Mandag ArrayList Collection (samling af objekter) med variabelt antal elementer Der er mange andre Collection typer (se Collection interfacet i JavaDoc) MusicOrganizer projektet Eksempel
Læs mereForelæsning Uge 4 Mandag
Forelæsning Uge 4 Mandag Algoritmeskabeloner Kan (ved simple tilretningerne) bruges til at implementere metoder, der gennemsøger en arrayliste (eller anden objektsamling) og finder objekter, der opfylder
Læs mereForelæsning Uge 1 Mandag
Forelæsning Uge 1 Mandag Hvad er programmering? Program, der kan løse Sudoku opgaver (eksempel) Programmering og problemløsning (generelt) Agenter og metoder UML specifikationssproget Klassediagrammer
Læs mereFundamentale sprogbegreber
Fundamentale sprogbegreber Sætninger og udtryk Niveauer af programbeskrivelse (statisk versus dynamisk syn) Oversigt Sætninger simple sætninger (assignment, metodekald) sammensatte sætninger (selektion,
Læs mereForelæ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 mereUgeseddel 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 mereForelæsning Uge 4 Torsdag
Forelæsning Uge 4 Torsdag Klassevariabler og klassemetoder Levetid for variabler og parametre Virkefeltsregler Projektopgave Kaninjagt Lommeregner (for MAT studerende) Klassevariabler og klassemetoder
Læs mereForelæsning Uge 1 Torsdag
Forelæsning Uge 1 Torsdag Problemløsning i hverdagen Agenter og metoder UML specifikationssproget Klassediagrammer Sekvensdiagrammer Eksempler på modellering Mekanikværksted Blomsterhandel Studieadministration
Læs mereForelæ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 mereForelæ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 mereb) 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 merePolymorfi. 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 mereForelæsning Uge 1 Mandag
Forelæsning Uge 1 Mandag Hvad er programmering? Eksempel: program, der kan løse sudoku opgaver Programmering og problemløsning dintprog kurset Hvad kan I forvente at lære Undervisningsprincipper Plagiering
Læs mereKursus 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 mereVelkommen til Introduktion til Programmering
Velkommen til Introduktion til Programmering Kurset har knap 300 studerende fordelt på 11 øvelseshold 6 hold med nye studerende på datalogi bacheloren 2 hold med nye studerende på it bacheloren 3 hold
Læs mereForelæ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 mereForelæ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 mereclass Time { int hours, min; } } Time t1; // Erklær variabel af type Time class Time1 { public static void main(string[] args) { Time t1; t1.
Programmering 1999 Forelæsning 4, fredag 10. september 1999 Klasser og objekter Felter, konstruktorer, this Eksempler på klasser: Time, Appointment Eksempler på metoder i Time og Appointment Klassefelter:
Læs mereOpfølgning på Dygtig Skildpadde (Michael) To algoritmeskabeloner
Forelæsning 4.1 Opfølgning på Dygtig Skildpadde (Michael) To algoritmeskabeloner finden findalle Primitive typer (forfremmelse og begrænsning) Identitet versus lighed (for objekter, herunder strenge) Afleveringsopgave
Læs mereTree 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 mereForelæ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 mereObjektorienteret programmering
Forelæsning 1.2 Objektorienteret programmering Java er et OO programmeringssprog BlueJ og Greenfoot er programmeringsomgivelser for Java Praktiske ting Mail sendes til jer på adressen årskortnr@post.au.dk
Læs mereForelæsning Uge 12 Torsdag
Forelæsning Uge 12 Torsdag Protected access Alternativ til public og private Abstrakte klasser og interfaces En abstrakt klasse er en klasse, som man ikke kan lave instanser (objekter) af En abstrakt klasse
Læs meredintprog Manual Revision: 731 September 30, 2009 1 Introduktion 3 1.1 Notation... 3 I Begreber 4 2 Grundbegreber om programmering 4
dintprog Manual Revision: 731 September 30, 2009 Indhold 1 Introduktion 3 1.1 Notation................................. 3 I Begreber 4 2 Grundbegreber om programmering 4 3 Grundbegreber om modellering
Læs mereEksempel: 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 mereForelæsning Uge 12 Mandag
Forelæsning Uge 12 Mandag Protected access Alternativ til public og private Abstrakte klasser og interfaces En abstrakt klasse er en klasse, som man ikke kan lave instanser (objekter) af En abstrakt klasse
Læs mereKlasser. 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 mereUniversity 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 mereDANMARKS 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 mereProgrammering 1999 KVL Side 5-4. Klassen Time: metoder. Metoder i objektet giver mulighed for at ændre tilstanden, eller kigge på tilstanden.
Programmering 1999 Forelæsning 5, tirsdag 14. september 1999 Oversigt Mere om klasser og objekter Klassefelter: static Konstante felter: final Indkapsling og synlighed: private og public Overlæsning af
Læs mereDM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2018 Projekt, del II Institut for matematik og datalogi Syddansk Universitet 20. marts, 2019 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
Læs mereForelæsning Uge 3 Torsdag
Forelæsning Uge 3 Torsdag Billedredigering Gråtonebilleder (som er lidt simplere end farvebilleder) Rekursive metoder Metoder der kalder sig selv Giver ofte meget elegante og simple løsninger på komplekse
Læs mereSkriftlig eksamen i Datalogi
Roskilde Universitetscenter side 1 af 11 sider Skriftlig eksamen i Datalogi Modul 1 Sommer 2000 Opgavesættet består af 6 opgaver, der ved bedømmelsen tillægges følgende vægte: Opgave 1 10% Opgave 2 10%
Læs mereAAU, 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 mereForelæsning Uge 5 Mandag
Forelæsning Uge 5 Mandag Sortering ved hjælp af klassen Collections Ved hjælp af interfacet Comparable Ved hjælp af interfacet Comparator findbest som sorteringsproblem Information om køreprøven i uge
Læs mereVelkommen til Introduktion til Programmering
Velkommen til Introduktion til Programmering Kurset har ca. 240 studerende fordelt på 10 øvelseshold 7 hold med nye studerende på datalogi bacheloren 2 hold med nye studerende på it bacheloren 1 hold med
Læs mereDM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2018 Projekt, del II Institut for matematik og datalogi Syddansk Universitet 13. marts, 2018 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
Læs mereclass subklasse-navn extends superklasse-navn { } NorwaySpruce har superklassen Spruce, som igen har superklassen Tree.
Programmering 1999 Forelæsning 11, tirsdag 5. oktober 1999 Oversigt Klasse-hierarkier: superklasser og subklasser Nedarvning Polymorfi Programmering 1999 KVL Side 11-1 Hierarkier En klasse repræsenterer
Læs mereStudiepraktik. Thomas Bøgholm Mikkel Hansen Jacob Elefsen
Studiepraktik Thomas Bøgholm boegholm@cs.aau.dk Mikkel Hansen mhan@cs.aau.dk Jacob Elefsen jelefs12@student.aau.dk 1 Studiepraktik -- program Program onsdag 10.00 10.15 Registrering af fremmøde og gennemgang
Læs mereCOMPUTERSPIL 1. Opgave 1. Opgave 2
COMPUTERSPIL 1 I løbet af de kommende fem uger skal I programmere et computerspil, hvor spillerne rejser rundt mellem byer i forskellige lande og indsamler point. Der er en delaflevering hver uge, hvor
Læs mereAbstrakte 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 mereForelæsning Uge 3 Torsdag
Forelæsning Uge 3 Torsdag Billedredigering Gråtonebilleder (som er lidt simplere end farvebilleder) Rekursive metoder Metoder der kalder sig selv Giver ofte meget elegante og simple løsninger på komplekse
Læs mereSkriftlig 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 mereSkriftlig 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 mereDatalogi 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 mereGrundlæggende Algoritmer og Datastrukturer
Grundlæggende Algoritmer og Datastrukturer Om kurset Grundlæggende Algoritmer og Datastrukturer Undervisningsformer Forelæsninger: 4 timer/uge (2+2). Øvelser: 3 timer/uge. Café. Obligatorisk program 13
Læs mereForelæsning Uge 5 Mandag
Forelæsning Uge 5 Mandag Sortering ved hjælp af klassen Collections Ved hjælp af interfacet Comparable Ved hjælp af interfacet Comparator findbest som sorteringsproblem Information om køreprøven i uge
Læs mereForelæsning Uge 3 Torsdag
Forelæsning Uge 3 Torsdag Billedredigering Gråtonebilleder (som er lidt simplere end farvebilleder) Rekursive metoder Metoder der kalder sig selv Giver ofte meget elegante og simple løsninger på komplekse
Læs mereForelæsning Uge 5 Mandag
Forelæsning Uge 5 Mandag Sortering ved hjælp af klassen Collections Ved hjælp af interfacet Comparable Ved hjælp af interfacet Comparator findbest som sorteringsproblem Køreprøven i uge 7 Form Forberedelse
Læs mereHvad 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 mereJava 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 mereDM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2013 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 5. marts, 2013 Dette projekt udleveres i to dele. Hver del har sin deadline, således
Læs mereAnvendelse 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 mereVirkefeltsregler 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 mereGrundlæ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 mereProgrammering 2. dprog2 E2013. http://www.cs.au.dk/dprog2/
Programmering 2 dprog2 E2013 http://www.cs.au.dk/dprog2/ Læringsmål Deltagerne skal ved afslutningen af kurset kunne: forklare og anvende både basale og videregående elementer af et moderne programmeringssprog,
Læs mereGreenfoot En kort introduktion til Programmering og Objekt-Orientering
Greenfoot En kort introduktion til Programmering og Objekt-Orientering Greenfoot er et computer-program, som kan benyttes til at skrive andre computer-programmer, i et programmeringssprog kaldet Java.
Læs meredpersp Uge 40 - Øvelser Internetalgoritmer
Øvelse 1 dpersp Uge 40 - Øvelser Internetalgoritmer (Øvelserne 4 og 6 er afleveringsopgaver) a) Hver gruppe får en terning af instruktoren. Udfør 100 skridt af nedenstående RandomWalk på grafen, som også
Læs mereSkriftlig 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 mereMETODER ARV KLASSER. Grundlæggende programmering Lektion 5
METODER KLASSER ARV Grundlæggende programmering Lektion 5 1 METODER Sekvenser af kode om samme emne 2 REPETITION Række af statements der udfører en handling Mindst én metode der hedder main Forskellen
Læs mereCivilingeniø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 mereSWC Elementer i klassedefinition
SWC Elementer i klassedefinition Indhold Eksempel... 2 Karakteristika for en klasse... 3 Karakteristika for et instance field... 4 Karakteristika for en constructor... 5 Karakteristika for en property...
Læs mereObjects 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 mereCOMPUTERSPIL 1. Opgave 1
COMPUTERSPIL 1 I løbet af de kommende fem uger skal I programmere et computerspil, hvor spillerne rejser rundt mellem byer i forskellige lande og indsamler point. Der er en delaflevering hver uge, hvor
Læs mereEfterslægtstavlen kan også udskrives som ren tekst med indrykning: Tonnes ~Ursula ina ~Morten Ferdinand Ida Diderich Oluf ~Pia Grethe Jonna Hedvig Rud
Opgave (25%) F lgende viser en simpel efterslægtstavle Tonnes ο Ursula ina ο Morten Oluf ο Pia Hedvig Rudolf ο Sarah Ferdinand Ida Diderich Grethe Jonna De forskellige typer personer der optræder i tavlen
Læs mereProgrammering 2. dprog2 E2012. http://www.cs.au.dk/dprog2/
Programmering 2 dprog2 E2012 http://www.cs.au.dk/dprog2/ Læringsmål Deltagerne skal ved afslutningen af kurset kunne: forklare og anvende både basale og videregående elementer af et moderne programmeringssprog,
Læs mereAritmetiske Forelæsning Pr ogrammering operatorer tir 1999 sda præcedens september 1999 Logiske Sammenligningsoperatorer operatorer præcedens
Programmering 1999 Forelæsning 3, tirsdag 7. september 1999 Aritmetiske og logiske operatorer, præcedens Den indbyggede klasse String: tegnstrenge Metoder i klasser Metoder: returtype eller void Metoder:
Læs mereAlgoritmeskabeloner: 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 mereDM507 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 mereVideregå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 mereForelæsning Uge 6 torsdag repetition
Forelæsning Uge 6 torsdag repetition Java style guide Niveauer af programbeskrivelser Arraylister (én-til-mange relation) For-løkker (almindelig og udvidet) Primitive typer (forfremmelse og begrænsning)
Læs mereUniversity of Southern Denmark Syddansk Universitet. DM502 Forelæsning 2
DM502 Forelæsning 2 Repetition Kompilere og køre Java program javac HelloWorld.java java HeloWorld.java Debugge Java program javac -g HelloWorld.java jswat Det basale Java program public class HelloWorld
Læs mereSoftware 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 mereKlasser 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 mereDM507 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 mereForelæsning Uge 11. Nedarvning. Object klassen. Projektopgave om computerspil
Forelæsning Uge 11 Nedarvning En klasse kan være en subklasse af en anden Det betyder at subklassen arver superklassens feltvariabler og metoder Object klassen Superklasse for alle klasser Indeholder en
Læs mereDRONNINGER (QUEENS) Opgave 1
DRONNINGER (QUEENS) I denne opgave vil vi beskæftige os med det såkaldte 8-dronningeproblem, hvor man skal placerede 8 dronninger på et 8 x 8 skakbræt, således at ingen af dronningerne kan slå hinanden.
Læs mereIntroduktion 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 mereProgrammering i C. Lektion september 2009
Programmering i C Lektion 1 8. september 2009 Målgruppe Motivation Indhold Form Materiale 2 / 47 Kursusintroduktion 1 Målgruppe 2 Motivation 3 Indhold 4 Form 5 Materiale Målgruppe Motivation Indhold Form
Læs mereSWC 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 mereDM01 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 mereHvordan organiseres et programs grafik-elementer? OOP e uge kursusgang. Advarsel! Component-objekter
OOP e2002 - uge 42 6. kursusgang Hvordan organiseres et programs grafik-elementer? 1. Teori: class Component og subklasser: Composite pattern layout-managere hændelsesstyret programmering 2. XP-program:
Læs mereHar kun én enkelt abstract metode De steder, hvor man skal bruge et objekt, hvis type er et funktionelt interface, kan man i stedet bruge en lambda
Forelæsning Uge 12 Protected access Alternativ til public og private Abstrakte klasser og interfaces En abstrakt klasse er en klasse, som man ikke kan lave instanser af En abstrakt klasse kan indeholde
Læs mere