Föreläsning 3 sept 10 (Måndag v 37). DD Chapter 3. Applikationer och s. Det finns två sorters java-program som används på olika sätt: Körning av applikation (vanliga, fristående program):...>java klass // Klassfilen klass skall åtminstone innehålla //(en översättning av ) en -metod Körning av med bläddrare: Dessa program är ämmnade att köras genom att man man klickar på en webbsida som körs med en bläddare, t ex Netscape. webb-sidor beskrivs av filer i formatet (sidbeskrivningsspråket) html, filer som brukar ha suffix.html. I html finns särskild kod för att instuera bläddaren att det man klickar på är en, så bläddaren kan hämta klassfilen (från någonnstans på webben) och exekvera den lokalt. Bläddaren kör sedan programmet, dvs bläddaren innehåller en Java Virtuel Machine. Den bläddare ni har klarar antagligen inte bokens s, som är för moderna med swing-s, men jag har lyckat byta till en modernar netscape som klarar jobbet. Bekvämmare för programutvecklare är att använda en mini-mini-bläddare, som klarar swing, som bara kan köra s och inget annat. Dessa s måste finnas loklt på datorn....> fil.html Filen fil.html (på arbetskatalogen) kan se ut så här: <html> < code = "fil.class" width = 800 height = 800 > </> </html> Filen fil.class, som ligger på arbetskatalogen, skall innehåll en klass som beskriver s- eller JApplets-.
Klasser med klass- och klasser som definerar. Det finns (lite förenklat) två användningar av klasser: Klasser med klass: En sådan klass innehåller en eller flera som är deklarerade med ordet static. De klasser vi hitills gjort har innehållet en enda sådan metod, nämligen (-metoden). Att programmera med sådan klasser påminner om traditonell impåerativprogrammering med Fortran, C, Pascal, Basic osv. Klasser som definierar : En sådan klass innehåller en eller flera som är deklarerade utan ordet static. En sådan klass kan användas som en typ, och man kan deklarera hur många referns man vill som var och en kan referera till var sitt av den sort som klassen beskriver. Hittils har vi t ex använt String-klassen. En viktig egenskap hos är att man kan tänka sig att varje har sin egen uppsättning värden och också har en egen uppsättning av de som hör till klassen. Ex på körning av ett amin-metod med lokla na String firstnumber; Strint secondnumber; int number1; int number2; lokala firstnumber secondnumber 45.5 number1 number2 72.37 "45.5" "72.37" massor av String- massor av String- D&D Kapitel 3 är en första användning avobjket. Man behöver dock inte kunna skapa etet av någon sort, det gör. Våra ar kommer att behöva massor av ; men de flesta kommer vi inte att behöva skriva själva, vi kommer att ärva na från en färdig klass JApplet.
Semantiken för programmet WelcomeApplet Så här ser det ut när skapat WelcomeApplet-et (en instans av klassen WelcomeApplet). Metoden har ännu inte anropats. (klass) (styr datorn) WelcomeApplet inenhet utenhet Applet skapar ett WelcomeApplet- sekundärminnen WelcomeApplet.java WelcomeApplet.class javax swing JApplet.class Varje WelcomeApplet- har massor ( 200st) meotder ärvda från klassen JApplet, bl a också en ärvd tom -metod. Men den är omdefinierad i WecomeApplet-. Eftersom den omdefinierade metoden är den enda som vi skall användas har jag bara ritat ut den. java awt Graphics.class Så här ser det ut när skapat WelcomeApplet-et (en instans av klassen WelcomeApplet). Metoden har anropats (med tillgång till ett Graphics- som referas med g), som i sin tur anropat i Graphics-et.
lokala print g WelcomeApplet Graphics- refererat av g "Welcome to.." String- inenhet utenhet Parmetrar fungerar på likande sätt som lokala, dvs de finns för som anropats men ännu ej kört klart. Parametrar får dock sitt ursprungsvärde (initialvärde) av den anropande metoden. 1234567890+ qwertyuiopå asdfghjklöä <zxcvbnm,.- Welcome to..! Paint-metodens parameter g får sitt värde, referensen till Graphics-et, av viewrns metod. g-ets metoden Stringparameter får stitt värde, Stringet "med texten "Welcome to.." vid detta anrop i : g.("welcome to..
Semantiken för programmet AdditionApplet Så här ser det ut när AdditonApplet-et just skall göra satsen (kommandot) sum = number1 + number2; lokala init firstnumber secondnumber 45.5 number1 number2 72.37 sum "45.5" "72.37" 0.0 init AdditiomApplet Och så här ser det ut när har anropat g.: lokala sum 117.87 init AdditiomApplet g Graphics- refererat av g "The sum is...." String-