TOC

This article has been localized into Dutch by the community.

Klassen:

Klassen in C#

In veel tutorials komt het concept van klassen pas veel later ter sprake. Maar C# is een pure Objectgeoriënteerde (Object Oriented Programming of OOP) programmeertaal dus kan je niet zonder klassen. We leggen je hier alvast de basis uit van de belangrijkste functionaliteiten.

Een klasse is een groep van gerelateerde methoden en variabelen. In de klasse beschrijven we deze zaken en in de meeste gevallen creëer je dan een instantie (instance) van de klasse, dit noemen we nu een object. Binnen dit object gebruik je dan de gedefinieerde methoden en variabelen. Je kan zoveel instanties van een klasse maken als je wilt. Klassen, en Objectgeoriënteerd programmeren als een geheel, zijn een zeer uitgebreid topic. We zullen in dit en andere hoofdstukken een aantal zaken behandelen, maar zeker niet alles.

In het Hello world hoofdstuk zagen we een klasse voor het eerst gebruikt worden aangezien alles in C# gebouwd is op klassen. Laten we ons Hello world voorbeelden uitbreiden met een zelfgemaakte klasse:

using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Car car;

            car = new Car("Red");
            Console.WriteLine(car.Describe());

            car = new Car("Green");
            Console.WriteLine(car.Describe());

            Console.ReadLine();

        }
    }

    class Car
    {
        private string color;

        public Car(string color)
        {
            this.color = color;
        }

        public string Describe()
        {
            return "This car is " + Color;
        }

        public string Color
        {
            get { return color; }
            set { color = value; }
        }
    }
}

Veel nieuwe dingen hier, maar bijna alles is gebaseerd op zaken die we eerder gebruikten in deze tutorial. Zoals je kan zien, definiëren we een nieuwe klasse, Car genoemd. Ze wordt op dezelfde manier gedefinieerd als onze hoofdklasse Program. Meestal worden klassen gedefinieerd in een apart document, om de applicatie overzichtelijk te houden. De klasse car definieert één variabele, color genaamd, deze wordt gebruikt om ons het kleur van de wagen te vertellen. We hebben deze variabele als private gedefinieerd, variabelen benaderen van buiten de klasse moet gebeuren via een property. De Color (let op de hoofdletter, deze maakt het verschil) variabele is gedefinieerd aan het einde van de klasse en deze geeft ons toegang tot de variabele color.

Onze Car klasse definieert ook een constructor. Deze aanvaardt een parameter die ons toelaat een Car object te initialiseren met een kleur. Aangezien er slechts één contructor is kunnen Car objecten enkel met één kleur geïnitialiseerd worden. De Describe() methode geeft ons een mooie zin over het enige stuk informatie dat we bijhouden over de auto. Ze bezorgt ons een string opgebouwd met de informatie die we doorgeven.

In onze hoofdapplicatie declareren we een variabele van het type Car die we car noemen. Daarna maken we er een nieuwe instantie van die we "Red" meegeven als parameter. In de klasse Car zal nu de kleur rood worden toegewezen aan onze auto. Om dit te controleren reopen we de Describe() methode aan. En om aan te tonen hoe makkelijk we verschillende instanties van dezelfde klasse kunnen oproepen doen we het nog eens opnieuw, maar nu met een andere kleur. We hebben net onze eerste functionele klasse aangemaakt en ze ook gebruikt!

In de volgende hoofdstukken gaan we dieper in op concepten als properties, contructors en visibility.

This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!