Tags

  • C# classes

    by Frans van Ek | Feb 04, 2014
    In de vorige blogpost heb ik een toelichting geschreven voor de namespace declaratie.

    een vergelijk werd gemaakt tussen woonplaatsen en daarin bedrijven. Indeze blogpost ga ik verder bij het bedrijf in zo'n woonplaats. Dit kan worden gezien als een class.

    Een class is een beschrijving van een Element binnen het programma. Een element is een verzameling van ggevens en methodes diete maken hebben met dat type element.
    Zo zal een bedrijf een bedrijfsnaam hebben. Net zoals een KVK nummer. Een class beschrijft per type welke gegevens we vast wilen leggen. 

    Omdat programmeren iets anders is dan het opslaan van gegevens moeten we ook wat met die gegevens kunnen doen. Zo kan een bedrijf een procedure hebben om klachten af te handelen. zo'n procedure wordt binnen een class een methode genoemd.

    voorbeeld van een class

    namespace FirstProject
    {
        public class Bedrijf
        {
            public string BedrijfsNaam {get;set;}
            public string KVKNummer {get;set;}
            public void IndienenKlacht(string Klacht)
            {
               // hier komt de programmatuur voor het afhandelen van een klacht.
            }  
         }
    }

    We zien nu de namespace terugkomen. De regel met Namespace bepaald dat alles binnen de {} tekens valt binnen de genoemde namespace.
    in dit geval zal de volledige naam van de class worden FirstProject.Bedrijf.

    Binnen de namespace wordt een class gedefineerd met de typenaam Bedrijf. De accesmodifer Public kun je nu even vergeten daar kom ik later op terug.

    Binnen het type Bedrijf worden een aantal properties aangemaakt waarin we in het programma echte waardes kunnen stoppen. Belangrijk om te weten is dat het defineren van een class niets anders is dan het beschrijven van de mogelijkheden en eigenschappen van een bepaald type. Zie het als een bouwtekening. Daarop staat precies hoe het huis egbouwd wordt maar daarmee heb je nog geen huis. Dat moet eerst gebouwd worden. Gelukkig kan dat binnen c# heel snel en wordt instantieren genoemd. 



    500 Comments
  • C#: Namespaces, private, public, internal ...

    by Frans van Ek | Feb 03, 2014
    Als je gaat programmeren dan zul je al snel tegen deze termen aanlopen. Waar zijn ze voor bedoeld?

    Om te beginnen de term Namespace. Deze term verklaart in het engels al aardig wat de reden is. Kennelijk heeft er iemand over nagedacht, wat altijd een goed teken is.

    Namespace definieert een gedeelte waar toe alle andere namen behoren. Hierdoor kunnen we dezelfde namen op verschillende plekken gebruiken zonder dat er verwarring ontstaat.
    Dit is te vergelijken met twee woonplaatsen. Binnen deze woonplaatsen hebben de bedrijven namen. Door de naam van de woonplaats mee te nemen in de naam van het bedrijf kunnen bedrijven uit twee woonplaatsen altijd uitelkaar gehouden worden.

    woonplaats.naam => Amsterdam.Jumbo is iemand anders dan Rotterdam.Jumbo.

    In C# is dit ook zo ingedeeld. Verschillende elementen die bij elkaar horen worden in dezelfde namespace geplaatst. Hierdoor wordt het mogelijk om snel de juiste class, functie en property te vinden. Want de naamgeving van elementen houdt niet op bij de namespace alleen. Dit geldt voor elk element dat aangemaakt of gebruikt wordt binnen c#.
    Maar juist door het gebruik van de Namespace wordt het mogelijk om meerdere keren dezelfde naam te gebruiken voor een class. De namespace zorgt ervoor dat de classes uit elkaar gehouden worden.

    De juiste naam kiezen is dan ook belangrijk. In een toekomstige blog zal ik verder ingaan op naamgeving als ik Clean Code ga behandelen. 
      
    Voorbeelden van namespaces. 

    System;
    System.Collections.Generic;
    System.Linq;
    System.Text;
    System.Threading.Tasks;

    Bij een project dat aangemaakt wordt kan een nieuwe namespace ontstaan. Als het project aangemaakt wordt er een namespace ingesteld waar binnen alle elementen van het project gaan vallen.
    Zie - properties op project. 



    Je kunt de namespace hier aanpassen. Zorg er wel voor dat de namgeving logisch is. 



    441 Comments

Sitefinity Web Content Management