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

From Teknologisk videncenter
Jump to: navigation, search
(Created page with "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...")
 
Line 17: Line 17:
 
{
 
{
 
public string ejer;
 
public string ejer;
private double saldo;
+
//Her gøres saldo private
 +
        private double saldo;
  
 +
        //I konstruktøren overføres saldo som en parameter
 
public Konto(double sal)
 
public Konto(double sal)
 
{
 
{
 +
                //Her gemmes den overførte sal i variablen saldo
 
saldo = sal;
 
saldo = sal;
 
}
 
}
 +
</source>
 +
 +
Når vi skal oprette en ny Konto skal vi nu også fortælle hvad saldoen er.
 +
<source lang=csharp>
 +
//Her laves en ny variable af type Konto
 +
Konto k = new Konto(25000);
 
</source>
 
</source>

Revision as of 12:22, 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 laves en ny variable af type Konto
Konto k = new Konto(25000);