DAIMIIntroducerende objektorienteret programmering12A.1 Moduler Packages i Java.

Slides:



Advertisements
Lignende præsentationer
KONFLIKTHÅNDTERING Velkommen! Dias.
Advertisements

©Jenny Bohr – Til underviserne Her er valgt at vise filmen ”et liv i kaos”. Hvis kursisterne er unge, kan man vælge en anden film eks. ”det.
Hvordan man logger ind på Dansk ACL database
Løntermometer° Vedligehold dit lønsystem. Løntermometeret Mange virksomheder oplever, at et ellers godt lønsystem efter nogle år ikke længere har den.
Log direkte fra GSAK Der er en kæmpe fordel at logge direkte fra GSAK, for det første er det let, da men ikke skal åbne alle cachesiderne for at kunne.
Introduktion til CMS. Indhold ● Forberedelse af indhold til hjemmeside ● Opsætning af hjemmeside (CMS)
07 – Kort om OO Introduktion.
Sikkerhed/Otto Knudsen 1 Diagnostics  Debug af web-applikationer.
Hvordan bruger jeg First Class konferencerne ?
Indledende Programmering Uge 2 - Efterår 2006 Selektioner og interaktion mellem objekter Susanne Brix Lindros.
06 – Java Packages Packages og ClassPath. 2 NOEA2009Java-kursus – Packages og class path Hvad er Packages? En package er en gruppering af relaterede typer.
NetBeans Installation og brug.
Objektorienteret programmering
Opret en database i Reference Manager, ver. 11 Åbn programmet. Opret en ny database. Placér basen ude på ”skrivebordet ” (kun i denne sammenhæng – da baserne.
Velkommen til Hvordan vises skolens værdier bedst muligt i SkolePorten? SkolePortens fleksibilitet kan medvirke til at understøtte skolens værdier. Oplægget.
Introduktion til Access (Access, del 1)
Rapporter (Access, del 5)
Webserveren kan afvikle flere applikationer, der hver har deres eget selvstændige ”liv” og hukommelse. Den enkelte applikation består typisk af flere elementer.
Videregående pc-vejledning Modul 03: Harddisken 2 60+Bornholm.
Rapporter (Access, del 5). RHS – Informationsteknologi – Udgangspunkt Vi har oprettet en database Vi har defineret en eller flere tabeller, og.
Sproghistorie Syntaks (struktur) Semantik (Indhold)
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.
Objekter og klasser Rasmus D. Lehrmann DM
Introduktion til Access (Access, del 1). RHS – Informationsteknologi – Fra design til udvikling Vi ved nu, hvordan vi finder et design for en database,
8.5 JDBC1 JDBC 8.5 Java Database Connectivity. 8.5 JDBC2 JDBC introduktion, 393 JDBC er ikke en forkortelse for –Java Database Connectivity Sun har defineret.
Oprettelse af tabeller (Access, del 2)
03 – Udtryk og metoder. 2 NOEA2009Java-kursus – Udtryk og metoder Udtryk i Java Java har standard udtrykene… Værditildeling Subrutiner og funktionskald.
DWDK – øvelsestime 3 CSS – let the fun begin!!. Tilgængelige slides Disse slides ligger på mit public drev
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.
Opsætning af eclipse for mobile device. Eclipse projekter.
Virksomhedens informationsbehandling Opgave inden for databehandling Opgave 1 Ved. Jens Godik Højen.
 Michael E. Caspersen, 2000Introducerende objektorienteret programmering6B.1 Virkefeltsregler i Java int i; int j; int k; i = i+j; String t; Sequence.
 1999, Henrik B. ChristensenIntroducerende objektorienteret programmering8A.1 Polymorfi og nedarvning Motivation for arv og “mange former”
 Jens Bennedsen 2001Multimedie programmering10A.1 Polymorfi og nedarvning Motivation for arv og “mange former”
DAIMIIntroducerende objektorienteret programmering4B.1 Typer og tilstand i Java Typer, tilstand, erklæring, variable, primitive datatyper, reference- og.
DAIMIIntroducerende objektorienteret programmering3B.1 Definition af klasser Klasseskelet, metoder, et eksempel: dato.
DAIMIIntroducerende objektorienteret programmeringkd.1 Definition af klasser Klasseskelet, metoder, et eksempel: dato.
Fejlfinding Kunsten at finde og rette fejl. DAIMIIntroducerende Objektorienteret Programmering10C.2 Taxonomi  Ingen skriver programmer uden fejl!  Fejl.
DAIMIIntroducerende objektorienteret programmering1B.1 Skildpadder Modeller, objekter og opførsel.
DAIMIIntroducerende objektorienteret programmering4B.1 Grundlæggende og Reference Typer i Java Typer, tilstand, erklæring, reference- og værdi semantik,
Indledende Programmering Uge 6 - Efterår 2006
Objektorienteret analyse og design Ó Bennedsen 2001 Design - part Programmering og systemudvikling Lektion 7 Design - part 2.
Kari Rye Schougaard, Ph.d.-stud. Værktøjer og Teknikker, 2006 A A R H U S U N I V E R S I T E T DATALOGISK INSTITUT Java på 20 minutter (eller lidt mere)
Design af brugerflader13.1 Kursusgang 13 Oversigt: Sidste kursusgang Beskrivelser af komponenter Typiske komponenter Arkitektur for en GUI.
DAIMIIntroducerende objektorienteret programmering4A.1 Kontrakter og Design Kontraktbaseret design, JavaDoc dokumentation.
DAIMIIntroducerende Objektorienteret Programmering8A.1 Polymorfi og nedarvning Motivation for arv og “mange former”
DIEB8.1 Kursusgang 8 Oversigt: Sidste kursusgang Beskrivelser af komponenter Typiske komponenter Arkitektur for en GUI.
 Jens Bennedsen 2001Multimedie programmering1.1 Skildpadder Modeller, objekter og opførsel.
DAIMIIntroducerende objektorienteret programmering4A.1 Kontrakter og Design Kontraktbaseret design, JavaDoc dokumentation,
Klassevariable- og metoder Funktionalitet på klasseniveau.
 Jens Bennedsen 2001Multimedie programmering3A.1 Definition af klasser Klasseskelet, metoder, et eksempel: dato.
Tutankhamons Grav Et modellerings eksempel
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;
DAIMIIntroducerende Objektorienteret Programmering8B.1 Interfaces En ren kontrakt.
DAIMI, AUIntroducerende objektorienteret programmering11A.1 Destilleret UML Oversættelse fra UML til Java.
DAIMIIntroducerende objektorienteret programmering15A.1 Eksamen…
DAIMIIntroducerende objektorienteret programmering12B.1 Obligatorisk Opgave 2 Et program til planlægning af madplaner.
I o p o DAIMI, AU, September 1999Introducerende objektorienteret programmering5C.1 Virkefeltsregler i Java int i; int j; int k; i = i+j; String t; Sequence.
Skildpadder Modeller, objekter og opførsel.  Michael E. Caspersen, 2000Introducerende objektorienteret programmeringSkildpadder.2 Model Modeller bruges.
Formularer (Access, del 3). RHS – Informationsteknologi – Udgangspunkt Vi har oprettet en database Vi har defineret en eller flere tabeller Vi.
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;
Power up Your PowerPoint Udarbejdet af Irene Krainer Larsen Irla.
Abstraktioner.
Introsidernes betydning
Lektion 7 Formål med denne lektion er at arbejde videre med klassekulturen, følge op på surveyen og at afrunde lektionsforløbet i Netwerk. Alle rettigheder.
Helt tomt regneark.
Forelæsning Uge 4 – Torsdag
Præsentationens transcript:

DAIMIIntroducerende objektorienteret programmering12A.1 Moduler Packages i Java

DAIMIIntroducerende objektorienteret programmering12A.2 Abstraktion  Begrebet abstraktion er centralt i datalogien: At overskue komplicerede problemstillinger kræver at vi kan pakke detaljerne væk og koncentrere os om de “store linjer”.  Et godt eksempel er Java compileren: Mange års forskning og arbejde er pakket ind bag en meget simpel kontrakt: I skal bare trykke F7.  Vi har brugt dette ustandseligt her i kurset til at pakke komplekse ting ind bag relativt simple kontrakter.

DAIMIIntroducerende objektorienteret programmering12A.3 Abstraktionsniveauer  Abstraktion foretager vi på alle niveauer  En række (java)sætninger, der løser et delproblem samles og navngives i en metode  En række metoder med tilhørende data, som repræsentere en konkret del af vores problemområde samles i en klasse

DAIMIIntroducerende objektorienteret programmering12A.4 Abstraktionsniveauer  Næste trin er naturligvis:  En række tæt samarbejdende klasser, der repræsenterer en del af vores problemområde, samles i et  Modul  eller mere java’sk: En pakke (package)

DAIMIIntroducerende objektorienteret programmering12A.5 Eksempler  Vores (snart lidt kedelige) skildpadde er realiseret i klassen Turtle, men kræver en sandkasse (TurtleWorld), der igen er realiseret som et vindue (TurtleWindow) eller en applet (TurtleApplet). Disse klasser er indbyrdes stærkt afhængige, deres samarbejde giver os abstraktionen: En skildpadde i en sandkasse.  Pakken: ioop.turtle

DAIMIIntroducerende objektorienteret programmering12A.6 Eksempler  Det samme gælder de øvrige pakker:  ioop.media:Klasser som arbejder sammen om at give et Presenter framework.  ioop.recipes:Klasser som håndterer en database af opskrifter.

DAIMIIntroducerende objektorienteret programmering12A.7 Package  En java package tillader at gruppere en række klasser i en enkelt, navngiven, enhed som virker som et selvstændigt virkefelt (scope).

DAIMIIntroducerende objektorienteret programmering12A.8 Brug af en package  En klasse har kun virkefelt indenfor en given pakke.  For at vi kan se en klasse fra en pakke i en anden, skal vi importere klassen:  Der er to måder at gøre dette på:  import ioop.turtle.Turtle; En navngiven (og public!) klasse importeres.  import ioop.turtle.*; Alle (public!) klasser i pakken importeres.

DAIMIIntroducerende objektorienteret programmering12A.9 Synlighed repetition  private –Metoden/variablen er kun tilgængelige i klassen selv.  package (ingen modifikation) –Metoden/variable er tilgængelig i klassen selv, og tilgængelig for, og nedarves til, kode i samme pakke (package).  protected –Metoden/variable er tilgængelig i klassen selv, og tilgængelig for, og nedarves til, kode i samme pakke (package) og kode i subklasser.  public –Tilgængelig for alle med tilgang til klassen, og nedarves til alle subklasser

DAIMIIntroducerende objektorienteret programmering12A.10 Erklæring af pakker  En pakke erklæres implicit, nemlig ved at en klasse (egt. alle klasser i en javafil) angiver et tilhørsforhold til en given pakke.  Dette gøres ved at angive en ‘package-sætning’ som den første i en java fil:  package myPackage;  public class mySuperDuperClass {  …  }

DAIMIIntroducerende objektorienteret programmering12A.11 Packagenavne  Packagenavne har en semantik som er nært forbundet med javafilens fysiske placering på ens harddisk.  Et packagenavn er en række navne, adskildt med punktum: java.util, ioop.recipes, java.awt.event,...  Hvert navn skal modsvares af et fysisk katalog med samme navn på ens disk.

DAIMIIntroducerende objektorienteret programmering12A.12 Packagenavne  Dvs. klasserne (egt..class filerne) i ioop.recipes skal ligge i et katalog:  ioop.recipes  …\ioop\recipes  java.awt.event  …\java\awt\event  (Alternativt kan.class filerne ligge i en zip eller jar fil, som er pakket med den rigtige katalogstruktur.)

DAIMIIntroducerende objektorienteret programmering12A.13 Indlejrede pakker  Pakker kan have ‘underpakker’ i et hierarki, nøjagtigt som et katalog kan have underkataloger. Dette hierarki bruges til at udtrykke et naturligt tilhørsforhold:  ioop.recipes: pakken recipes tilhører pakken ioop.  Der kan være klasser på alle niveauer, f.eks. så ligger klassen Date direkte i ioop pakken:  import ioop.Date;

DAIMIIntroducerende objektorienteret programmering12A.14 Virkefelt for indlejrede pakker  At pakker er hierarkisk indlejrede har dog ingen semantisk betydning for virkefelt; selvom ioop.recipes ligger i pakken ioop kan den alligevel ikke se ioop.Date med mindre den eksplicit importer den.  Det er udelukkende et redskab for programmørerne til at organisere pakker på en logisk, hierarkisk, måde.

DAIMIIntroducerende objektorienteret programmering12A.15 CLASSPATH  For at java compileren og fortolkeren kan finde pakkerne, skal den vide, hvor den skal begynde at lede. Dette fortæller man vha. CLASSPATH  I Kawa vælger man menu ‘Project’ undermenu ‘Classpath…’:  Dette er stien til den jar fil som indeholder alle.class filer i ioop pakken.

DAIMIIntroducerende objektorienteret programmering12A.16 CLASSPATH  Hvis man bruger Java fra en DOS-prompt, skal man sætte environment-variablen CLASSPATH.  Kig i filen ‘setup.bat’ i c:\ioop\iooplib  I denne indgår også stien til Java 1.1.7B’s klasser (f.eks. java.util.Vector) samt Kawa’s egne pakker. Dette er i Kawa sat op af os (menu ‘Customize’, undermenu ‘Options...’, faneblad ‘Directories’)

DAIMIIntroducerende objektorienteret programmering12A.17 Tilføje pakker  Hvis vi vil lave en ny pakke (eks: us14) skal der laves følgende trin  1. Tilføj en package statement i javafilerne Husk at.class filerne skal ligge i et katalog med samme navn som pakkenavnet.  2. Tilføj forældre kataloget til din classpath  Eksempel:  Diskstruktur: C:\ioop\us14\myClass.class  Package: “package us14;”  CLASSPATH = C:\ioop\

DAIMIIntroducerende objektorienteret programmering12A.18 Default package  Hvad med alle de java filer vi har skrevet indtil nu?  Java har automatisk en default, unavngiven, pakke, som alle klasser i filer uden en package- sætning lægges i. Kataloget svarende til denne pakke er simpelthen det katalog som filerne ligger i.