Class Vs Interface in C#

Een Class is een specificatie van de wijze waarop Objecten uit eenzelfde Class worden samengesteld. Het is een soort blauwdruk of prototype op basis waarvan individuele Objecten worden gemaakt. We kunnen zeggen dat een Class een sjabloon is dat de toestanden en gedragingen beschrijft die door Objecten van zijn type worden ondersteund.

In termen van Objectgeoriënteerd Programmeren (OOP) kunnen we zeggen dat een auto van Toyota een instantie is van de Class van Objecten die bekend staat als Auto. Een Class is als het ware de blauwdruk van een auto. Met deze blauwdruk kun je zo veel auto’s bouwen als je wilt. Elke auto die je bouwt is een object van de klasse Auto. Elke auto heeft natuurlijk ook een nummer. Als je iemand wilt vertellen welke auto van jou is, geef je hem het nummer om hem te identificeren. Dit nummer wordt de referentie van het Object genoemd.

Een Interface biedt een contract dat specificeert hoe een Object moet worden gemaakt, zonder zich te bekommeren om de bijzonderheden van hoe ze de dingen doen. Een Interface is een referentietype en bevat alleen abstracte leden zoals Gebeurtenissen, Methoden, Eigenschappen enz. en het heeft geen implementaties voor een van zijn leden.

Wanneer een Klasse een Interface implementeert, wordt zij door de compiler gedwongen de methoden en Eigenschappen te schrijven die de Interface heeft gedefinieerd. Dat wil zeggen, als je een Interface in je Class implementeert, moet je alle Events, Methods en Properties van de Interface in je Class declareren. Een Interface kan alleen Abstracte methoden en Constanten hebben, die altijd impliciet openbaar, statisch en definitief zijn.

Een Class heeft zowel een definitie als een implementatie, terwijl een Interface alleen een definitie heeft.

Een Class kan worden geïnstantieerd, maar een Interface niet. Je kunt een instantie van een Object maken dat de Interface implementeert.

Een Class is een volledige entiteit met leden, methoden, samen met hun definitie en implementatie. Een Interface is slechts een set definities die je moet implementeren in je Class die de Interface erft.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.