Objekter i java

Tags:    java
Skrevet af Bruger #2796 @ 14.12.2002
Objekter i java

I denne artikel vil jeg prøve at beskrive hvordan objekter virker. Objekter kan godt være svært at forstå, især hvis man ikke kender noget til programmering i forvejen. Så jeg vil derfor anbefale at man har et lille kendskab til programmering, og siden denne artikel bliver skrevet i java, så også til java sproget.

Hvad er objekter?


Når man tænker på objekter, skal man tænke på ting i hverdagen. Dvs. at et objekt f.eks. kan være den nye java bog man har købt, eller en bestemt bil man har set hos bilforhandeleren. Dette betyder at, objekter egenligt er specifikke ting, af en bestemt type.

Hvis vi kigger mere på "java bog" eksemplet, så er "java bogen" objektet af typen "bog". Dette betyder at, en "c++ bog" og kan være af typen "bog". Derfor er objekter ikke noget generelt, men noget meget specifikt inden for en bestemt type.

Eksemplet om bogen


I dette eksempel, vil jeg igen bruge "java bogen" og "c++ bogen" som objekter og bog, som typen.

Hvad er en bog, eller hvad er typiske karakteristika ved en bog?
Den har:
en titel
en eller flere forfattere
et isbn nummer
en genre
osv.

Dette betyder at vores bog, som er en klasse, definere alle de oplysninger der skal til, for at man kan lave mange forskellige bøger.

Først skal vi lave selve bog klasse, denne klasse skal indeholde de ting som vi definerede lige før, men for at lave eksemplet mindre, har jeg valgt kun at brugere "forfatteren" og "isbn" nummeret.
Desuden har jeg også valgt at, der kun må være en forfatter per bog. Da det er nemmest at holde styr på.

public class Bog {
private String titel; // bogens titel
private String forfatter; // kun EN forfatter per bog.

public Bog(String titel) { // Klassen konstruktør
this.titel = titel; // sætter bogens titel
}

// her sættes bogens forfatter
public void setForfatter(String forfatter) {
this.forfatter = forfatter;
}

// Her kan man hente forfatterens navn
public String getForfatter() {
return forfatter;
}

// her kan man hente bogen titel
public String getTitel() {
return titel;
}

// her kan man sætte bogens titel
public void setTitel(String titel) {
this.titel = titel;
}

// denne metode udskriver bøgernes indhold
public void udskriv() {
System.out.println("Titel: " + titel);
System.out.println("Skrevet af: " + forfatter);
System.out.println();
}
}


Et objekt af Bog-klassen, oprettes ved at angive en titel på bogen. Og objektet indeholder oplysninger om: forfatteren og titlen på selve bogen. Der er metoder i klassen, som vi kan manipulere med objektet med. Man kan rette forfatteren af bogen, og titlen på bogen.

Nu er vores bog klasse færdig, og så skal vi konstruere en Main-klasse, som køre programmet. I denne Main-klasse, laves der objekter af Bog-klassen. Og det er så her vi laver vores "java bog" og "c++ bog".

Disse 2 objekter kan vi så manipulere med, ved brug af de metoder som ligger inde i Bog-klassen. Grunden til at disse metoder virker til begge bøger/objekter, er at de begge er af typen "Bog", og derfor kan alle de ting som der defineret i Bog-klassen.

public class MainKlasse {
public MainKlasse() {

}

// så indsætter vi data i bøgerne, og udskriver fra dem.
// (denne metode køre programmet)
public static void main(String[]args) {
// først laver vi bøgerne
Bog javaBog = new Bog("Min java bog"); // javaBog objektet
Bog cppBog = new Bog("Min c++ bog"); // cppBog objektet

// data om forfatterne indsættes i de 2 bøger vi har lavet
javaBog.setForfatter("java Guruen");
cppBog.setForfatter("c++ Guruen");

// her kalder vi Bog-klassens udskriv metode
javaBog.udskriv();
cppBog.udskriv();

// bare lidt pynt... en skille linje
System.out.println("-----------------------------");


// her ændre vi data'en i bøgerne, og udskriver oplysningerne igen
// der bruges igen Bog-klassens metoder til at ændre i data
javaBog.setForfatter("Ny java bogs forfatter");
cppBog.setTitel("Ny c++ bog...");

// her kalder vi Bog-klassens udskriv metode
javaBog.udskriv();
cppBog.udskriv();
}
}


Der bliver udskrevet følgende i dosprompten:

Titel: Min java bog
Skrevet af: java Guruen

Titel: Min c++ bog
Skrevet af: c++ Guruen

-----------------------------
Titel: Min java bog
Skrevet af: Ny java bogs forfatter

Titel: Ny c++ bog...
Skrevet af: c++ Guruen


De to objekter der bliver lavet er:
javaBog & cppBog.

Disse 2 objekter er af typen Bog, og derfor indeholder de variabler som er defineret i Bog-klassen.

Dvs. at vi nu har lavet 2 objekter af Bog-klassen, og vi har manipuleret med dem. Og derefter har vi tjekket om det hele virkede, ved at udskrive indholdet af vores 2 objekter.

Jeg håber at der ud fra denne korte tekst, kan ses hvad objekter er, og hvordan man manipulere med dem. Grunden til at jeg ikke har skrevet mere, er fordi at jeg mener at, kode siger mere end almindelig tekst gør.



Hvad synes du om denne artikel? Giv din mening til kende ved at stemme via pilene til venstre og/eller lægge en kommentar herunder.

Del også gerne artiklen med dine Facebook venner:  

Kommentarer (4)

User
Bruger #2796 @ 22.04.03 20:47
Håber da at der er nogen som kan bruge artiklen, og hvis der ikke er, så skriv endelig hvad den mangler...
User
Bruger #2320 @ 02.04.04 12:28
Fin artikel og vil give dig ret i koden, siger det meste.. Så det er fin kombination af tekst og kode.. TAK for dejlig lærerigt læsning!
User
Bruger #15575 @ 12.01.10 22:02
Meget overskuelig og let at forstå for begyndere.
User
Bruger #8773 @ 24.08.10 22:01
Super godt skrevet, simpelt og lige til at gå til - har hjulpet mig med bedre at forstå classes både i java, men også generelt i andre sprog :)
Du skal være logget ind for at skrive en kommentar.
t