Introduktion til programmering Repetition - ArrayList.

Slides:



Advertisements
Lignende præsentationer
Velkommen til Softwarekonstruktion
Advertisements

07 – Kort om OO Introduktion.
T1 – OPGAVE 14.2 LINETT & SABRINA Klasse Varer namespace Opgave_14._2 { class Varer { private string vare; private string farve; private double.
KONCEPT Klasser og objekter En klasse beskriver et World ArrayList
Collectionklasser Klassifikation og anvendelse. Collections Motivation –hvorfor bruge collections? Realisering af en-til-mange relationer –Importer, erklær,
Collectionklasser Ekstra materiale. Collections Motivation – hvorfor bruge collections? Realisering af en-til-mange relationer – Importer, erklær, initialiser.
Forelæsning 3.1 Collections Javas for-each løkke
Interfaces – brug. Overblik Tidligere: –Interfaces Comparable gør det muligt at bruge Collections metoderne –min, max, sort, … –Algoritmemønstre Find.
Forelæsning 3.2 Billedredigering (bl.a. brug af for-løkker)
Eksempel på realisering af domænemodel
GP 8, 24/ Grundlæggende programmering Efterår 2001 Forelæsning 8 onsdag 24/ kl. 9:15 – 12:00.
Forelæsning 5.1 Brug af klassen Collections og interfacet Comparable samt parametriserede typer Projektuge: Ants and Spiders / Lommeregner dIntProg,
Objekter og klasser Rasmus D. Lehrmann DM
Repetition: Introduktion til OOP med C# og .NET
Comparable Students German Students Composite Pattern State Pattern Observer Pattern Collections Interfaces Abstrakte klasser Design Patterns.
Forelæsning 2.2 Tilstand og opførsel (repetition)
Fundamentale sprogbegreber
FEN IntroJava AAU1 Endnu mere om Klasser og Objekter Mange til mange relationer Student-Course v3.
Virkefeltsregler i Java int i; int j; int k; i = i+j; String t; Sequence s; int i; int j; Sequence s; String s; int i; int j;
Repetition af dIntProg v/ Morten D. Bech. Tour de force Variabler Løkker Comparable ImErKo-reglen Eksamenssæt dIntProg, E13.
Begreber og Redskaber 11. Plan for idag Lidt afrunding: Collections Framework i Java Noget om oversættere og sprog Evaluering Sidste gang øvelser før.
Forelæsning 7.1 – repetition
Effective Java Blå gruppe. Item 18: Interfaces frem for abstrakte klasser Kan implementeres i klasser der ikke nedarver Eksisterende klasser kan nemt.
Begreber og Redskaber 4. Plan for idag Om metoder, parametre, returværdier Et par ord om objekt-orientering Håndkøring af programmer.
Begreber og Redskaber 3. Plan for idag Om metoder, parametre, returværdier Overblik over klasser,objekter,nedarvning Et par ord om objekt-orientering.
Variabler, klassevariabler, identitet og lighed, collections
Checklister Comparable og Comparator. dIntProg, E08Checklister.2 Checkliste for Comparable Antagelse –vi har en liste med elementer af typen T: List lst;
 Jens Bennedsen 2002Objektorienteret systemudvikling Design -> kode Mapning af et klassediagram til kode.
Klasser og objekter. dIntProg, E08Klasser og objekter.2 Grundbegreber Klasser og objekter –beskrivelse –oprettelse Attributter og metoder –tilstand –opførsel.
DAIMIIntroducerende objektorienteret programmering3B.1 Definition af klasser Klasseskelet, metoder, et eksempel: dato.
 Henrik B. Christensen, 1999Introducerende objektorienteret programmering8B.1 Interfaces En ren kontrakt.
 Jens Bennedsen, 2003Introducerende objektorienteret programmeringinterfaces.1 Interfaces En ren kontrakt.
Trinvis forfinelse Systematisk, gradvis udvikling af programmer.
Klassehierarkier Specialisering vha. subklasser. dIntProg, E05Klassehierarkier.2 Oversigt Eksempler på specialisering –Aktør, Koreograf, Skuespiller,
Interfaces Afkobling af programkomponenter (eksempel: Comparable)
Grafik Modeller, objekter og opførsel. dIntProg, F08Grafik.2 Nye begreber Repetition (iteration) –gentagelse af opførsel Parametrisering –generalisering.
Klasser og objekter – grundbegreber.  Michael E. Caspersen, 2001Introducerende objektorienteret programmeringKlasser og objekter.2 Klasser og objekter.
Collectionklasser Klassifikation og anvendelse. dIntProg, F08Collectionklasser.2 Samlinger af objekter Objektreferencer –for at holde fast i et objekt.
 Jens Bennedsen 2001Multimedie programmering4.1 Definition af begreber Interface, implements, klasse.
 Jens Bennedsen 2001Multimedie programmering Collections Samlinger af objekter.
Klasser og objekter. dIntProg, F08Klasser og objekter.2 Grundbegreber Klasser og objekter –beskrivelse –oprettelse Attributter og metoder –tilstand –opførsel.
Introduktion til programmering Repetition. dIntProg, F08Repetition.2 dIntProg Sidste forelæsning (12/10) –kort tilbagemelding på evaluering –repetition.
Containerklasser – klassifikation og brug.  Michael E. Caspersen, 2003IOOPContainerklasser.2 Mange objekter Containerklasser –antag at man skal repræsentere.
Eksamen Praktisk prøve.
Virkefeltsregler i Java int i; int j; int k; i = i+j; String t; Sequence s; int i; int j; Sequence s; String s; int i; int j;
Forelæsning Uge 2 – Torsdag Java syntax og style guide Sætninger –Simple sætninger (assignment, interne og eksterne metodekald) –Sammensatte sætninger.
Forelæsning Uge 3 – Mandag Niveauer af programbeskrivelser – Statiske / dynamiske beskrivelser ArrayList –Collection med variabelt antal elementer –Der.
Forelæsning Uge 5 – Mandag
Forelæsning Uge 5 – Mandag
Forelæsning Uge 2 – Torsdag
Forelæsning Uge 6 – Mandag
Forelæsning Uge 3 – Torsdag
Forelæsning Uge 3 – Torsdag
Forelæsning Uge 5 – Mandag
Forelæsning Uge 12 – Torsdag
Forelæsning Uge 3 – Mandag
Forelæsning Uge 6 – Mandag
Forelæsning Uge 3 – Mandag
Klasser og objekter (Afsnit i manualen).
Quiz – Uge 3 – torsdag – første time
Forelæsning Uge 3 – Mandag
Forelæsning Uge 5 – Mandag
Quiz – Uge 4 – mandag – første time
Forelæsning Uge 3 – Mandag
Parametrisering En kort introduktion.
Quiz – Uge 3 – torsdag – første time
Forelæsning Uge 3 – Mandag
Forelæsning Uge 12 Abstrakte klasser og interfaces
Forelæsning Uge 5 – Mandag
Forelæsning Uge 4 – Torsdag
Præsentationens transcript:

Introduktion til programmering Repetition - ArrayList

dIntProg, E10 dIntProg Sidste forelæsning (6/10) –sjove løsninger på Ants & Spiders ? –præmieuddeling –repetition (ønsker til repetition på webboard) –”juleforelæsning” om marcipanbrød m.m. Afleveringsopgaver (adgang til eksamen) –tilbagemelding til Studiekontoret (torsdag 13/10) –sidste frist aftales med jeres instruktor –check at jeres opfattelse stemmer overens med instruktorens

Manual dIntProg, E10

Realisering af en-til-mange B A * import java.util.*; public class A{ private ArrayList bs; public Scope() { bs = new ArrayList (); } public void addB(B b) { bs.add(b); } import java.util.*; public class A{ private ArrayList bs; public Scope() { bs = new ArrayList (); } public void addB(B b) { bs.add(b); } public class B{ … } public class B{ … } public class A{ public A() { } import java.util.*; public class A{ private ArrayList bs; public A() { bs = new ArrayList (); } public void addB(B b) { bs.add(b); }

Realisering af en-til-mange For at realisere en en-til-mange relation i koden skal man : 1.Importere en collection (f.eks. en liste) import java.util.ArrayList; 2.Erklære en attribut af passende type private ArrayList persons; 3.Initialisere collection’en i konstruktøren public AddressBook(){ persons = new ArrayList (); } dIntProg, E10Collectionklasser.5

dIntProg, E10 Generisk klassemodel (A  * B) A B * Også skabelon for eksamensprojekter... DNA-register  * DNA DNA  * AminoAcidResidue Picture  * Pixel Animation  * Picture World  * Actor (Wombat, Crab, Lobster,...) Playlist  * Track Track  * Picture...

dIntProg, E10 Checkliste for Comparable Antagelse –vi har en liste med elementer af typen T: ArrayList lst; –vi ønsker at kunne udføre standardoperationer der fordrer en naturlig ordning (f.eks. max(lst) og sort(lst) fra Collections) Lad klassen T implementere Comparable : public class T implements Comparable {... public int compareTo(T t) { return... }

dIntProg, E10 Checkliste for Comparable, fortsat Det er underforstået at det er den naturlige ordning der anvendes ved kald af standard-operationer: ArrayList lst;... Collections.sort(lst);... T res= Collections.max(lst);

Eksamensprojekt 1 e08 dIntProg, E10

Eksamensprojekt f08 dIntProg, E10

Eksamensprojekt 2 e08 dIntProg, E10

Eksamensprojekt 4 e06 dIntProg, E10