object georienteerd programmerenobject georienteerd programmeren
Spread the love

De structuur tussen primitieve datatypes, lijsten bijv. kan aangemaakt worden door gebruikt te maken van objecten. Zodanig dat je gegeven meer op een logische manier kan opslaan. Een Object is een samengesteld datatype, bestaande uit verschillende variabele, ofwel eigenschappen.

Voorbeeld van OOP.

class="wp-block-heading">// Gegevens van Klant1

var klant1 = new

{

Naam = “Herman”,

Rekeningnummer = “BE56 4926 1463 4336”,

Saldo = “65.32”

};

// Weergave van Klant1

Console.WriteLine(“Gegevens van Klant 1:”);

Console.WriteLine(“Naam: {klant1.Naam}”);

Console.WriteLine(“Rekeningnummer: {klant1.Rekeningnummer}”);

Console.WriteLine(“Saldo: {klant1.Saldo} Euro”);

Als je met composite datatypes gaat werken, zal de structuur veel logische opgebouwd worden. Je kan dan rechtstreeks naar een object revereren en de waardes, eigenschappen rechtstreeks oproepen door een punt achter de naam van het object te zetten. bv.

Voorbeeld van eigenschappen, waardes oproepen via een object

  • klant1.Naam
  • klant1.Rekeningnummer
  • klant1.Saldo
class="wp-block-heading">Uitgewerkt voorbeeld van een Classe

class Klant

{

// Eingenschappen met een publieke toegangsniveau worden hieronder gediffineerd met een get; set; mehode

    public string Naam { get; set; }

    public string Rekeningnummer { get; set; }

    public double Bedrag { get; set; }

// Klant 1 en klant 2 worden aangemaakt via de constructor Klant, waarmee de parameters naam, rekeningnummer en bedrag. De consturcor heeft dezelfde naam als de naam van de Classe

    public Klant(string naam, string rekeningnummer, double bedrag)

    {

        // Wijs de parameters toe de eigenschappen van de klasse

        this.Naam = naam;

        this.Rekeningnummer = rekeningnummer;

        this.Bedrag = bedrag;

    }

    public void ToonKlant(){

        Console.WriteLine($”Hallo {this.Naam}, bedrag op de rekening ” +

        $”{this.Rekeningnummer} bedraagt {this.Bedrag} Euro.”);        

    }

}

class Program

{

    static void Main(string[] args)

    {

// In de Classe worden de eigenschappen gevuld met gegevens klant1, klant2

Klant klant1 = new Klant(“Jan”,”BE21 1245 1254 3254″,450);

        Klant klant2 = new Klant(“Els”,”BE45 4745 6954 5454″,150);

// Voor elke klant de waardes oproepen via de methode van de class

        klant1.ToonKlant();

        klant2.ToonKlant();

    }

}

Voorbeeld met een lijst als Eigenschap

public class Student

{

    public string Naam { get; set; }

    public string Studentnummer { get; set; }

    public List<double> Cijfers { get; set; }

    public Student(string naam, string studentnummer){

        this.Naam = naam;

        this.Studentnummer = studentnummer;

        Cijfers = new List<double>();        

    }

    public void CijferToevoegen(double cijfer){

        Cijfers.Add(cijfer);

    }

    public double BerekenGemiddelde()

    {

        if (Cijfers.Count == 0)

        {

            return 0;

        }

        return Cijfers.Average();

    }

}

public class Program

{

    public static void Main(string[] args)

    {

        // Maak een aantal student-objecten

        Student student1 = new Student(“Janne”, “A2656”);

        Student student2 = new Student(“Anneke”, “B15621”);

        // Voeg enkele cijfers toe aan hun lijst

        student1.CijferToevoegen(8.0);

        student1.CijferToevoegen(7.0);

        student1.CijferToevoegen(7.5);

        student2.CijferToevoegen(6.0);

        student2.CijferToevoegen(7.5);

        student2.CijferToevoegen(8.5);

        // Bereken het gemiddelde van elke student en toon de resultaten

        Console.WriteLine($”Naam: {student1.Naam}, Studentnummer: {student1.Studentnummer}, Gemiddeld Cijfer: {student1.BerekenGemiddelde():0.0}”);

        Console.WriteLine($”Naam: {student2.Naam}, Studentnummer: {student2.Studentnummer}, Gemiddeld Cijfer: {student2.BerekenGemiddelde():0.0}”);

    }

}

Extra info over class, object, constructor en methodes. Deze kan je ook verwerken in lijsten.

https://moodle.eschool.be/moodle2/pluginfile.php/1728832/mod_resource/content/1/Csharp_Classes_Beginner.pdf

Door alfons

Geef een reactie

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *