Egne objekter

Fra Kommunikation-IT Holstebro HTX
Skift til: navigering, søgning

Klasser

Alle ting er delt ind under forskellige klasser. En bil høre fx ind unde klassen Køretøj og under klassen bil er der de forskellige former for biler, alle disse biler høre under overklassen køretøjer. En cykel høre også under klassen køretøjer men er ikke en bil. Når der er tale om en bil er alle indforstået med at det er en slags køretøj men hvis man snakker om køretøjer tænker alle på hver deres forskellig slags køretøj.

Hvad er et objekt

Et objekt høre indenunder en klasse, fx er en bil et objekt der høre indenunder klassen køretøj. De objekter, der laves af de klasser, vi har defineret, kaldes for instanser.

Her er et eksempel på et objekt

Her har vi defineret en klasse der heder bil,man skal have en farve et mærke og et årstal:

function Bil (far, mrk, year) {
	// Klassens egenskaber
	var farve = "";
	var maerke = "";
	var aargang = "";

her indsættes objektes egenskaber under klassen, og i den sidste linie sættes en funktion til at være en metode for objektet:

	this.farve = far;
	this.maerke = mrk;
	this.aargang = year;

	this.vis = visBil;
}

Her er objektets output, der er defineret som en metode til objektet. Metoden vis anvendes, når man på siden trykker på "Vis alle biler i programmet", ved at man nede i funktionen visAlleBiler() løber arrayet med biler igennem, og viser bilen ved hjælp af metoden vis():

function visBil() {
	str = "Visning af bil\n";
	str += "Farven er " + this.farve + "\n";
	str += "Bilmærket er " + this.maerke + "\n";
	str += "Årgangen er " + this.aargang + "\n";
	alert(str);
}

Her er nogle biler der allerede er intastet i programmet:

biler[0] = new Bil("Grå", "Saab", 2002);
biler[1] = new Bil("Rød", "BMW", 2005);

Dette gør at man kan se bilerne, ved hjælp af metoden vis():

function visAlleBiler() {
	for (n in biler) {
		biler[n].vis();
	}
}

Funktion der gør at man kan lave et nyt objekt selv:

function nyBil() {
	var ff = prompt("Indtast farven på bilen: ", "Ingen");
	var mm = prompt("Indtast hvilket bilmærke det er: ", "Jaguar");
	var yy = prompt("Indtast Årgangen", 2011);
	
	biler[biler.length] = new Bil(ff, mm, yy);
}

knappen der ses på siden:

<body onload="document.body.focus();">
<h1>Eget Objekt eksempel - Holstebro HTX</h1>
<p>Der er oprettet 2 biler (objekter af klassen Bil) når koden loades - det kan ses ved at klikke Vis alle biler i programmet.
</p>
<p><input type="button" value="Vis alle biler i programmet" onClick="visAlleBiler()"/><br />
<input type="button" value="Opret en bil i programmet" onClick="nyBil()"/>
</p>
<p>Der kan så lægges flere biler ind i programmet ved at klikke på Opret en bil i programmet</p>

</body>


Hele Eksemplet så du ikke skal sætte alle biderne ind ligger i ZIP-filen her