🧠 Wat zijn ā€œpropertiesā€?

Properties zijn een soort combinatie van functies en variabelen. Ze zien eruit (voor ā€œgebruikersā€ van de code) als variabelen, maar voeren op de achtergrond eigenlijk logica uit, zoals een functie. Laten we ze naast elkaar zetten om de verschillen en overeenkomsten te zien.

class VoorbeeldClass
{
		// Een voorbeeld van een field / variabele
		public int voorbeeldVariabele = 42; 
		
		// Een voorbeeld van een functie
		public float GeefMijEenNummer()
		{
				return Random.Range(3f, 19.5f);
		}
		
		// Een voorbeeld van een property
		public int VoorbeeldProperty
		{
				get{
						return 635;
				}
				set{
						voorbeeldVariabele = value;
				}
		}
}

Wat zien we hierboven?

  1. Als eerste hebben we hierboven een field/variabele genaamd voorbeeldVariabele met het type int en de waarde 42. Herinner je dat variabele data opslaan van een bepaald type! Oftewel, variabelen hebben/bevatten data.
  2. Als tweede zien we een voorbeeld functie/methode genaamd GeefMijEenNummer met het return type float. Een functie voert logica uit; een functie doet iets met data of voert andere functies uit.
  3. Als laatste zien we de property genaamd VoorbeeldProperty van het type int.

Overeenkomsten tussen functies en properties

Er zijn veel overeenkomsten tussen een functie en een property, zowel qua hoe de syntax eruit ziet (oftewel, hoe je het schrijft) en qua wat ze doen.

Maar er zijn ook duidelijke verschillen tussen properties en functies:

<aside> šŸ’”

Functies kunnen alles wat properties doen, maar niet andersom! Properties worden gebruikt als een nette manier van programmeren, je kan best programmeren zonder dat je properties gebruikt. Maar! Properties kunnen heel handig zijn om je code af te schermen of nette ā€˜shortcuts’ te maken. Later hierover meer.

</aside>

Jullie kenden al het keyword return, zoals die worden gebruikt in functies. In het voorbeeld hierboven zien we ook een aantal blauwe keywords die jullie nog niet kennen: get, set en value. Deze keywords geven aan waar de ā€œgetterā€ en/of een ā€œsetterā€ staan binnen de property.

Getters en setters? Wat zijn dat?

Getters en setters kan je zien als speciale kleine functies die maar bestaan voor 1 reden en maar op 1 manier gebruikt kunnen worden: