Difference between revisions of "6236 Programmering I Agenda/Constructors"

From Teknologisk videncenter
Jump to: navigation, search
Line 31: Line 31:
 
Når vi skal oprette en ny Konto skal vi nu også fortælle hvad saldoen er.
 
Når vi skal oprette en ny Konto skal vi nu også fortælle hvad saldoen er.
 
<source lang=csharp>
 
<source lang=csharp>
//Her laves en ny variable af type Konto
+
//Her kaldes konstruktøren for at lave en ny konto
 
Konto k = new Konto(25000);  
 
Konto k = new Konto(25000);  
 
</source>
 
</source>

Revision as of 11:23, 27 November 2015

I klasse Konto gjorde vi følgende i main når vi skulle lave en ny klasse.

Ulempen er at saldo skal være public for at det virker, hvilket gør at vi har mulighed for bagefter at ændre saldo utilsigtet.

//Her oprette vi en konto
Konto k = new Konto() { ejer = "Jens", saldo = 25000 };
//Her laver vi saldo om
k.saldo = 1000;

Hvis vi i stedet gør saldo privat kan den ikke ændres fra main, men så er vi nødt til at lave en konstruktør.

Konstruktøren er en metode der hedder det samme som klassen.

class Konto
{
	public string ejer;
	//Her gøres saldo private
        private double saldo;

        //I konstruktøren overføres saldo som en parameter
	public Konto(double sal)
	{
                //Her gemmes den overførte sal i variablen saldo
		saldo = sal;
	}
        .......

Når vi skal oprette en ny Konto skal vi nu også fortælle hvad saldoen er.

//Her kaldes konstruktøren for at lave en ny konto
Konto k = new Konto(25000);