Laboration Ett Java Reflections 1 Introduktion 2 Syfte 3 Beskrivning

January 8, 2018 | Author: Anonymous | Category: Engineering & Technology, Datavetenskap, Java Programming
Share Embed Donate


Short Description

Download Laboration Ett Java Reflections 1 Introduktion 2 Syfte 3 Beskrivning...

Description

Laboration Ett Java Reflections 1

Introduktion

I Java finns ett inbyggt st¨od f¨or att manipulera Javakod dynamiskt under exekvering, det sker genom The reflection API. Detta representerar, eller reflekterar, klasserna, interfacen och objekten som f¨or n¨arvarande finns i v˚ ar Java Virtual Machine. Man kan med hj¨alp av detta API unders¨oka, manipulera och skapa objekt och dess inneh˚ all. En annan finess ¨ar att man kan, utan att i f¨orv¨ag veta vad klassen eller dess metoderna heter, utf¨ora en metod p˚ a ett objekt. Detta ¨ar bland annat anv¨andbart n¨ar du vill skriva utvecklingsverktyg s˚ asom debuggers, klassbrowsers och GUI-byggare [1, 4].

2

Syfte

Syftet med uppgiften ¨ar att ... • F˚ a en insikt i hur Java Reflections fungerar och kan anv¨andas. • Tr¨ana p˚ a att f¨olja en kodkonvention. ¨ er f¨ardighet i rapportskrivning. • Ova

3

Beskrivning

Er uppgift g˚ ar ut p˚ a att med hj¨alp av The reflection API implementera ett program som unders¨oker en given klass och konstruerar ett interface till denna.

3.1

Att t¨ anka p˚ a

Det som m˚ aste finnas med i interfacet ¨ar: 1

• Metodhuvuden • Returv¨ardestyper • Parametertyper • Exceptions • Konstanter Med konstanter avses de f¨alt som ¨ar deklarerade final. 3.1.1

Programmet

Programmet ska heta ClassToInterface och en kompilerad version samt k¨allkoden ska finnas under /edu/pmb/lab1/ i er hemkatalog. Indata till programmet ska vara namnet p˚ a klassen. Utdata, koden till interfacet, ska skrivas ut p˚ a standard output. Ett anrop kan se ut p˚ af¨oljande s¨att: java ClassToInterface ExampleClass 3.1.2

K¨ allkod

Er kod ska uppfylla Suns kodkonvention f¨or Java. Framf¨orallt namngivning av funktioner och variabler a¨r viktigt, detta f¨or att det ska bli l¨attare att l¨asa koden och f¨or att undvika on¨odiga fel. B˚ ade utdatat fr˚ an ert program och er egen k¨allkod ska f¨olja denna. Kodkonventionen ˚ aterfinns p˚ a Suns Javasida [2].

3.2

Klassfiler

De klasser som programmet ska kunna hantera finns tillg¨angliga p˚ a kursens hemsida [3]. Ert program f˚ ar givetvis g¨oras mer generellt, men minimikravet ¨ar att dessa klasser ska kunna hanteras.

4

Rapport

Rapporten skall inneh˚ alla f¨oljande: • Framsida: Kursens namn och termin, uppgiftsnummer, ditt namn och anv¨andar-id, handledarnas namn, inl¨amningsdatum, samt s¨okv¨agen till er k¨allkod.

2

• Problemspecifikation: Beskriv med egna ord vad uppgiften gick ut p˚ a. ¨ det n˚ Ar agonting som varit oklart och ni gjort egna tolkningar s˚ a beskriv dessa. • Anv¨andarhandledning: F¨orklara var programmet och k¨allkoden ligger samt hur man startar, kompilerar och anv¨ander det. • Algoritmbeskrivning: Beskriv de algoritmer som inte kan anses sj¨alvklara (beskriv hellre f¨or mycket ¨an f¨or lite). • Begr¨ansningar: Vilka problem och begr¨ansningar har din l¨osning av uppgiften? Hur skulle de kunna r¨attas till? • Reflektioner: Var det n˚ agot som var speciellt kr˚ angligt? Vilka problem uppstod och hur l¨oste ni dem? Allm¨anna synpunkter. • Testk¨orningar: Noggranna testk¨orningar d¨ar man ser att programmet fungerar som det ska. • Diskussion: Hur fungerade det att f¨olja en kodkonvention? Vilka var f¨ordelarna respektive nackdelarna? . • K¨allkod: K¨allkoden ska finnas tillg¨anglig i er hemkatalog. Bifoga ¨aven utskriven k¨allkod. Rekommenderat ¨ar att ni skriver ut den med kommandot: atp -C | lpr -P Mer information om hur och varf¨or man skriver en labrapport finns p˚ a http://www.cs.umu.se/information/misc/labspec.html Sista inl¨ amningsdatum ¨ ar 2004-11-22 (23:59). Lycka till!

Referenser [1] Sun Microsystems, http://Java.sun.com/docs/books/tutorial/ reflect/ (2004-11-02) [2] Sun Microsystems, html (2004-11-02)

http://Java.sun.com/docs/codeconv/index.

[3] http://www.cs.umu.se/kurser/TDBB24/HT04/ [4] J. Wigglesworth, P. McMillan Java Programming: Advanced Topics Thomson, 2004 3

View more...

Comments

Copyright � 2017 NANOPDF Inc.
SUPPORT NANOPDF