Høgskolen i Sør-Trøndelag, Avdeling for informatikk og e-læring

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
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;
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.
Webprogrammering Arrays.
Polymorfi og arv, del 1 LC191D Videregående programmering Semesterplan: Høgskolen i Sør-Trøndelag, Avdeling.
Programmering i Java versjon januar 2005 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Beslektede algoritmer. Isolere klient fra algoritme  Klienter trenger av og til helt forskjellige måter å gjøre det samme på  Men klienten selv kan.
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”
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
Drift av Vmware ESX Server for HiST
IS-102 Klassedefinisjoner
Databasehåndtering med MySQL
C# for javaprogrammerere
INF 295 Forelesning 15 - kap 9 Grafer Hans Fr. Nordhaug (Ola Bø)
LC238D Datamodellering og databaser Else Lervik, september 2012 Forelesning 6, Uke 39 Objektorientering i ER-modeller.
Siste forelesning ER/EER-modellering
LocMoc : Avatar 3D – Visualisering av menneskelige bevegelser ved bruk av Java og Coin3D. En presentasjon av: Øivind Hoff Johansen og Jon Kåre Sørensen.
Mer om programmering av aggregeringer Repetisjon: Komposisjon og aggregering En register-klasse: modellering En register-klasse: implementering Sortering.
Å 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
LC238D Datamodellering og databaser Else Lervik, september 2011 Forelesning 6, Uke 38 Objektorientering i ER-modeller.
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 august 2004 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Java sertifisering - testern tester test
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 7 ADT Lister, Stakker og Køer Hans Fr. Nordhaug (Ola Bø)
INF 295 Algoritmer og datastrukturer Forelesning 9a Søketrær Hans Fr. Nordhaug (Ola Bø)
INF 295 Forelesning 20 - Kapittel 7 Boble-, innstikk-, Shell-, Heap-, Quick-, Mergesortering 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.
INF 295 Algoritmer og datastrukturer Forelesning 10 Invarianter og Hashing Hans Fr. Nordhaug (Ola Bø)
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.
Aktivitetsdiagrammer
Å 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.
Kapping av plater Mål: Vi skal lage komponenter for en møbelfabrikk ut fra standardiserte plater på 12 x 24 dm. Komponentene har lengde og bredde oppgitt.
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
En gjennomgang av Opplegget Frister Informasjonskilder
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.
Programmering i Java versjon desember 2002 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Klasse: 2HKI Student: Bertil Gjerstad Oppgnr: 25E
Inf1000 (Uke 5) Arrayer, filer og tekst
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.
Kap. 9 – Computer Intelligence How Information Technology Is Conquering the World: Workplace, Private Life, and Society Professor Kai A. Olsen,
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.
Digital eksamen - relevante tilbud
Utskrift av presentasjonen:

Høgskolen i Sør-Trøndelag, Avdeling for informatikk og e-læring Vprg 3 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: http://aitel.hist.no/fag/vprg/index_LC191D.php Høgskolen i Sør-Trøndelag, Avdeling for informatikk og e-læring Else Lervik, januar 2012

Aggregering Poststed Student poststed -postnr {readonly} -sted {readonly} -studnr * 1 +getPoststed() +getStudnr() +setPoststed() +setStudnr() +finnPostnr() +finnSted() Se på koden side 355-356 EksempelStudent2.java +getPostnr() +getSted() Ett studentobjekt er koplet til eksakt ett poststedobjekt. Poststedobjektet spiller rollen poststed i denne sammenhengen. Dette blir navnet på en objektvariabel i klassen Student. Stjerna sier at ett og samme poststedobjekt er knyttet til mange studentobjekter. 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.

Komposisjon Navn Student navn -fornavn -etternavn -fdato {readonly} 1 +getFdato() +getNavn() +setNavn() +getFornavn() +getEtternavn() +setFornavn() +setEtternavn() Se på koden side 364-365 EksempelStudent4.java Et bestemt navneobjekt tilhører eksakt ett bestemt studentobjekt. Hver student har kun ett navn. 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.

Aggregering, komposisjon og mutable objekter 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 Når komposisjon og når aggregering? Virkeligheten vi modellere bestemmer hvorvidt vi skal bruke det ene eller det andre. Jmf. Navn og poststed. (Tabeller inngår vanligvis i en komposisjon, dvs vi lager kopier.) Aggregering er mest vanlig.

En register-klasse Register registeret Utstyr 1 * 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).

Hvilke operasjoner bør en klient kunne gjøre i forhold til et register-objekt? Klassen Utstyr er gitt. Programmer deler av klassen Register med enkel testklient. Register registeret Utstyr 1 * Finn antall typer forskjellig utstyr I regeisteret Lag en utstyroversikt Registrer ny utstyrstype Finn antall på lager av en bestemt type utstyr Endre lagerbeholdningen for en bestemt type utstyr Søke fram detaljinfo om en bestemt type utstyr

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 412-413) Gjennomgå SorterOgSoekArrayListJavaAPI.java (side 426-427)

Klassen Register Sortere arraylisten Naturlig orden Java.util.Collections.sort(reg); // klassemetode Vil bruke den compareTo()-metoden som vi har laget i klassen Utstyr