Mer om programmering av aggregeringer Repetisjon: Komposisjon og aggregering En register-klasse: modellering En register-klasse: implementering Sortering.

Slides:



Advertisements
Liknende presentasjoner
Repetisjon innkapsling static tabell av primitiv datatype LC191D Videregående programmering Høgskolen i Sør-Trøndelag, Avdeling for informatikk og e-læring.
Advertisements

Tabeller av objekter Klassen ArrayList
Høgskolen i Sør-Trøndelag, Avdeling for informatikk og e-læring
Høgskolen i Sør-Trøndelag, Avdeling for informatikk og e-læring
GUI-programmering, del 3 Vinduslyttere Dialogvinduer GUI-komponenten JTable Egne datamodellklasser LC191D Videregående programmering Semesterplan:
LC238D Datamodellering og databaser Else Lervik, september 2012 Forelesning 6, Uke 39 Objektorientering i ER-modeller.
Datafiler og serialisering Tekstfiler Scanner-klassen Binær overføring av data Direkte tilgang til filinnholdet Serialisering LC191D Videregående programmering.
Høgskolen i Sør-Trøndelag, Avdeling for informatikk og e-læring
Programmering i ActionScript - hva er det, og hvordan undervise?
Programmering i Java versjon august 2004 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Java database persistence framework.  SELECT by FROM postnr AS p WHERE ( SELECT DISTINCT postnr FROM addr AS a WHERE user.adrId = a.Id ) = p.postnr;
Introduksjon til objektorientert programmering i PHP
Uke 10 - Sortering, og hvordan lage en klasse for et klassebibliotek 21 okt. 2003, Arne Maus Inst. for informatikk, UiO.
LC238D Datamodellering og databaser Introduksjon til fagfeltet Else Lervik, august 2012Forelesning 1, uke 34 Datafilerside.
Oppgaveløsning Metode og tilnærming.
Webprogrammering Arrays.
Polymorfi og arv, del 1 LC191D Videregående programmering Semesterplan: Høgskolen i Sør-Trøndelag, Avdeling.
Bluetooth sone Identifisere og kommunisere med Bluetooth enheter i en sone.
Programmering i Java versjon januar 2005 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Programmering i Java versjon januar 2005 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Kap.8 Sortering og søking sist oppdatert • Del 1 Søking - lineær søking m/u sorterte elementer - binærsøking - analyse • Del 2 Sortering - ”gamle”
Høgskolen i Oslo Webprogrammering Introduksjon til Java-scripting.
Programmering i Java versjon Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik.
Ulike sorteringsmetoder Kompleksitet av dem
Objektorientert programmering i PHP del 2
Samordna Opptak Mål: Fordele studenter på studier.
Drift av Vmware ESX Server for HiST
IS-102 Klassedefinisjoner
Databasehåndtering med MySQL
LC238D Datamodellering og databaser Else Lervik, september 2012 Forelesning 6, Uke 39 Objektorientering i ER-modeller.
AITeL erfaringer fra et alternativt LMS-system Svend Andreas Horgen Avdeling for Informatikk og e-Læring (AITeL) Høgskolen i Sør-Trøndelag Blogg:
Thomas Johan Eggum & Sindre Williksen
Registrering av kjemikalier i Kromatografigruppa, Fürst Medisinsk laboratorium. Database laget med bruk av teknologiene PHP, MySQL og Apache Prosjektoppgave.
Siste forelesning ER/EER-modellering
Å lage sikre klasser Unntaksklassene i Java-API-et Unntakshåndtering i databasesammenheng try-catch-finally-setningen Trelagsarkitektur; egen databaseklasse.
GUI-programmering, del 2 Enkle layout-håndterere Forskjellige typer hendelser og lyttere GUI-komponenter for valg (oppgave) LC191D Videregående programmering.
INF150 Programmering mandag 11.9
Forbindelser Diagrammer i UML består av ting med forbindelser
Klassediagrammer Klassen er en grunnleggende enhet i et objektorientert system Alle kan finne klasser i et domene Det å finne klasser er en intuitiv aktivitet.
Singleton & Adapter Pattern Gruppe 3. Singleton Pattern Sørger for at en klasse kun kan ha en instans Vanligvis implementert med globale variabler –Singleton.
Programmering i Java versjon desember 2002 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Programmering i Java versjon august 2004 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Programmering i Java versjon Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik.
Programmering i Java versjon desember 2002 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Forelesing Tabeller Hvordan opprette Tekst til tabell Justere Sortere dessverre ikke Overskrift Tabellverktøy.
INF 295 Algoritmer og datastrukturer Forelesning 9a Søketrær Hans Fr. Nordhaug (Ola Bø)
Hans Fr. Nordhaug (Ola Bø)
INF 295 Algoritmer og datastrukturer Forelesning 6 ADT Lister, Stakker og Køer Hans Fr. Nordhaug (Ola Bø)
INF 295 Algoritmer og datastrukturer Forelesning 9b Balanserte (binære) trær Hans Fr. Nordhaug.
En enkel introduksjon Geir H. Hansen & Martin Setek SUAF-SO USIT jQuery.
Eksempel på SQL ”SQL-setninger” har en struktur som likner på ”naturlig språk”, med ”verb, subjekter og adjektiver”. SQL-setningene begynner alltid med.
1 Kap 06 Ordnede / Sorterte lister Oppgave nr 06_02 Polynomer Klassehierarki Javadokumentasjon.
Å lese tall fra en fil, klassen Scanner 1.Et Scanner-objekt kan knyttes til et strømobjekt eller til en streng. 2.Kan skanne teksten etter data av ulike.
Tabeller Dette er en tabell, eller array. Den kan defineres sånn som dette: public int[] heltallsTabell = new int[11]; //Her er 11 tabellens lengde for.
Se ellers læreboka, kap , side
INF-1400 Obligatorisk Oppgave 1 Breakout-Klone Marius Andreassen Edvard Pedersen
Easy answer Hovedprosjekt nr 56 våren 2001: ”web  interface  MobilSvar” - grensesnitt for innlegging av personlig velkomstmelding.
Programmering i Java 3D Hovedprosjekt 16 studieåret 2005/2006 Av Jarl Magnar Jakobsen 3DDT HiST-AITeL.
Programmering i Java versjon september 2002 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Ortering Mål: Se på forskjellige måter for sortering.
Kapittel 6 Objektorientert design. 6.1 Programvareutvikling Skriving av kode ein liten del av arbeidet med å lage programvare Fire hovudaktivitetar Kravspesifikasjon.
INF-1400 Obligatorisk Oppgave 2
Ekstra mange tips til Oblig 3! 12. mars 2007 Are Magnus Bruaset og Arild Waaler Inst. for informatikk, UiO.
INF1000 (Uke 14) Eksamen V06 Grunnkurs i programmering Institutt for Informatikk Universitet i Oslo Are Magnus Bruaset og Arild Waaler.
Objektorientert utforming In 140 Forelesning Nr 11 Sommerville kap 12 – del 1.
Kapittel 9 Polymorfi. 9.1 Sein binding Ofte er det perfekt match mellom typen til ein variabel og objektet han refererer til ChessPiece bishop;... bishop.
Kapittel 12 Samlingar Samlingar og datastrukturar Ei samling (collection) blir brukt til å oppbevare og handtere andre objekt ArrayList – klassen.
Kapittel 7 Array (lister og tabellar). 7.1 Arrayelement Array (lister, tabellar) er kjent frå VB Blir brukt til å organisere data når vi har mange dataelement.
Using the personalized system of instruction in an introductory programming course Hallgeir Nilsen Universitetet i Agder.
Lokale variable Hvis vi trenger å ta vare på en verdi, inne i en metode kan vi definere en lokal variabel: int amount = 0; vi må fortelle hvilken type.
Utskrift av presentasjonen:

Mer om programmering av aggregeringer Repetisjon: Komposisjon og aggregering En register-klasse: modellering En register-klasse: implementering Sortering og søking LC191D Videregående programmering Semesterplan: Høgskolen i Sør-Trøndelag, Avdeling for informatikk og e-læring Else Lervik, januar 2012

Aggregering En aggregering er en en-del-av-sammenheng mellom objekter. Ett objekt består av et eller flere andre objekter. De objektene som aggregatet består av, kan leve både før og etter aggregatet, og omverden har tilgang til disse objektene. Aggregatet vet alltid hvilke objekter det består av. Forelesning 3, side 2 1* poststed Student -studnr +getPoststed() +getStudnr() +setPoststed() +setStudnr() +finnPostnr() +finnSted() Poststed -postnr {readonly} -sted {readonly} +getPostnr() +getSted() Se på koden side EksempelStudent2.java

Komposisjon En komposisjon er også en en-del-av-sammenheng mellom objekter, men her har vi en mye sterkere binding mellom objektene enn for aggregering. Omverden har ikke tilgang til de objektene som er gjemt inne i det sammensatte objektet (kompositten). Livet til disse objektene er like langt eller kortere enn livet til det sammensatte objektet. Forelesning 3, side 3 11 navn Student -fdato {readonly} +getFdato() +getNavn() +setNavn() Navn -fornavn -etternavn +getFornavn() +getEtternavn() +setFornavn() +setEtternavn() Se på koden side EksempelStudent4.java

Aggregering, komposisjon og mutable objekter Aggregering Ved aggregering lager vi ikke kopier av objektene – det er ofte i samsvar med virkeligheten Potensielt problem Mange referanser til samme objekt. Lett å miste oversikten. Mulige løsninger Bruk immutable objekter hvis mulig. Bruk pakketilgang for å beskytte objekter (se kap. 11.7, side 379) Komposisjon Kompositten skal ha sine egne utgaver av objektene I praktisk programmering av komposisjon nøyer vi oss imidlertid med enkelteksemplarer av immutable objekter, da ingen kan ødelegge disse uansett Forelesning 3, side 4

En register-klasse Vi skal lage klasser for å administrere uttak av kontorrekvisita og -utstyr i en bedrift. Registeret skal omfatte alt fra blyanter, viskelær og opp til stoler og bord. Vi håndterer imidlertid alt utstyr på samme måte. Om hver utstyrsvariant lagrer vi betegnelse (navn), leverandør, hvor mye som er på lager (varebeholdning) nedre grense for bestilling (dersom lagerbeholdningen går under denne verdien, skal varen opp på bestillingslisten). Forelesning 3, side 5 *1 registeret Register Utstyr

Hvilke operasjoner bør en klient kunne gjøre i forhold til et register- objekt? Forelesning 3, side 6 *1 registeret Register Utstyr Klassen Utstyr er gitt. Programmer deler av klassen Register med enkel testklient.

Sortering av objekter. Søking blant objekter. Objektene ligger i en tabell eller i en ArrayList To typer sorteringsrekkefølger for objekter Sortering i henhold til objektenes naturlige orden Definert i metoden compareTo() som er implementasjonen av interfacet Comparable. Likhet med compareTo() bør bety det samme som likhet med equals() Sortering i henhold til en rekkefølge definert i en klasse som implementerer interfacet Comparator. Spesielt eksisterer det en Comparator-klasse som vi kan bruke hvis vi ønsker å sortere tekster i henhold til norsk tegnsett. Søking lineært søk binærsøk, forutsetter at objektene er sortert Søke- og sorteringsmetoder i Java-API-et etter objektenes naturlige orden eller Comparator-objekt som argument til sorteringsmetoden Gjennomgå SorterOgSoekTabellerJavaAPI.java (side ) Gjennomgå SorterOgSoekArrayListJavaAPI.java (side ) Forelesning 3, side 7