Første |
|
|
Objektorienteret programmering serie, Planche nr. 21 |
 |
Udskrift af : Objektorienteret programmering
|
Planche 1 : Objektorienteret programmering
Hvad er
- Et objekt
- Beskeder
- En klasse
- Nedarvning
Planche 2 : Objekter?
Definition: An object is a software
bundle of variables and related
methods.
eller på dansk:
Et objekt er en samling variable
og tilhørende metoder.
Planche 3 : Objektmodel

API : Application Program Interface
Public API : almen tilgængelige metoder
Planche 4 : Fordele
- Modularitet
- Kildetekst uafhængig af omgivelser
- Kan flyttes rundt
- Gemmer indhold
- Offentlige metode er nok
- "Indmad" kan ændres
Planche 5 : Beskeder
Objekter kommunikere med beskeder
Dvs. at kald af en offentlig metode i et andet objekt sker via en besked
- ikke ved hjælp af et direkte kald.

Planche 6 : Fordele
- Beskeder kan udføre alt via metoder
- Objekter behøver ikke at være i direkte kontakt
Planche 7 : Klasser
Definition: En klasse er et skema eller en protype, der
definere variable og metoder, der er fælles for en gruppe objekter.
Planche 8 : Eksempel - cykler


Planche 9 : Brug af klasser
- Oprette klasse (definer)
- Skabe et objekt (instantiate)
- Klassemetoder og variable
Planche 10 : Objekter - Klasser
- Er ikke det samme
- Klasse == Definition
- Objektet er et individ
Planche 11 : Fordele
- Objekter: Modularitet og afskærmning
- Klasser: Genbrug
Planche 12 : Nedarvning (udvidelse)
- En klasse er en udvidelse af en anden klasse
- En klasse kan udvides til en ny klasse

Planche 13 : Udvidelse
- Underklasser udvider med nye metoder og variable
- Underklasser udvider med at overskrive metoder
- Underklasser kan udvides og bliver så selv superklasser i et klassehieraki.
- En klasses metoder er altså dens egne metoder, samt alle metoder i alle overklasser - helt op til java.lang.Object!
Planche 14 : Fordele
- Superklassernes metoder kan genbruges
- Fælles optræden - fælles metoder
- Abstrakte klasser ("rammer" for udvikling)
Planche 15 : Java
- Alle Java-programmer er klasser
- Alle objekter identificeres ved variable
- Hvis ingen variable peger på et objekt findes det ikke - mere!
Planche 16 : Java-kode
En javafil indeholder mindst en klassedefinition:
modifikationer class klassenavn evt. udvidelsesinfo{
Sætninger bestående af enten variabelerklæringer
eller metode-erklæringer
}
En metode-erklæring ser således ud:
modifikationer type metodenavn ( evt. variabelliste ) {
Sætninger
}
Den sidste sætning, der udføres i metoden skal give en værdi af samme
type som metodens erklæring.
En metode uden parametre angives med ().
Planche 17 : Hvordan bruges metoder
Metoder kaldes ved at tilknytte dem til et objekt:
navn = inddatafelt.getText();
indtastet.setText(indatafelt.getText());
Hvor
String navn;
javax.swing.JTextField inddatafelt;
javax.swing.JLabel indtastet;
Planche 18 : Eksempel
HejVerden.
/*
* HejVerden - den første application
*
*/
class HejVerden {
public static void main (String args[]) {
System.out.println ("Hej Verden!") ;
}
}
Planche 19 : Eksempel 2
HejVerdenApp.
/*
* HejVerdenApp - den første applet
*
*/
import java.awt.Graphics;
public class HejVerdenApp extends java.applet.Applet {
public void paint ( Graphics g ) {
g.drawString ("Hej Verden!", 200, 200 );
}
}
Planche 20 : Pakker
Klasser samles i pakker.
Pakker er hierakisk beskrivelse, svarende til katalogsystemer:
Pakken dk.blanet.system.Penge
findes ofte som dk/blanet/system/Penge.class
(og kildeteksten Penge.java ved siden af)
eller dk\blanet\system\Penge.class
(i Windows95/OS2)
Pakkebeskrivelsen indsættes i java-programmet med
package dk.blanet.system;
i filen Penge.java - Klassen (definitionen) hentes med import.
Planche 21 : Klassebiblioteker
En samling klasser med samme pakkebetegnelse kaldes et klassebibliotek.
Pakken java.lang er indbygget (og behøves ikke 'importeres').
Et helt
klassebibliotek importeres med * istedet for klassenavn.
Klassebiblioteker KAN distribere som en fil (.jar eller .zip).
Systemvariabel CLASSPATH peger på kataloger, hvori der findes klasser
eller klassebiblioteker.
© 2000 BLA*net - Leif E. Andersen,
leander@blanet.dk
Første |
|
|
Objektorienteret programmering serie, Planche nr. 21 |