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}”);
}
}