Statische versus niet-statische methode
Een methode is een reeks instructies die wordt uitgevoerd om een specifieke taak uit te voeren. Methoden kunnen input nemen en output produceren. Statische en niet-statische methoden zijn twee soorten methoden die aanwezig zijn in objectgeoriënteerde programmeertalen. Een statische methode is een methode die aan een klasse is gekoppeld. Een methode die aan een object is gekoppeld, wordt een niet-statische (instantie)methode genoemd. In objectgeoriënteerde talen worden methoden gebruikt als een mechanisme om te werken met gegevens die in objecten zijn opgeslagen.
Wat is een statische methode?
In objectgeoriënteerd programmeren is statische methode een methode die is gekoppeld aan een klasse. Daarom hebben statische methoden niet de mogelijkheid om op een bepaalde instantie van een klasse te werken. Statische methoden kunnen worden aangeroepen zonder een object van de klasse te gebruiken die de statische methode bevat. Hieronder volgt een voorbeeld van het definiëren van een statische methode in Java. De static moet worden gebruikt bij het definiëren van een statische methode in Java.
public class MyClass { public static void MyStaticMethod() { // code van de statische methode }
}
De hierboven gedefinieerde statische methode kan als volgt worden aangeroepen met de naam van de klasse waartoe deze behoort.
MyClass. MyStaticMethod();
Een belangrijk ding om op te merken is dat statische methoden alleen toegang hebben tot statische leden.
Wat is een niet-statische methode?
Een niet-statische methode of een instantiemethode is een methode die is gekoppeld aan een object in een klasse. Daarom worden niet-statische methoden aangeroepen met een object van de klasse waarin de methode is gedefinieerd. Een niet-statische methode heeft toegang tot zowel niet-statische leden als statische leden van een klasse. In veel objectgeoriënteerde talen (zoals C++, C, Java) wordt, wanneer een niet-statische methode wordt aangeroepen, het object dat de methode heeft aangeroepen, doorgegeven als een impliciet argument (het wordt de 'this'-referentie genoemd). Dus binnen de methode kan dit sleutelwoord worden gebruikt om te verwijzen naar het object dat de methode heeft aangeroepen. Hieronder volgt een voorbeeld van het definiëren van een instantiemethode in Java.
public class MyClass { public void MyInstanceMethod() { // code van de instantiemethode }
}
De hierboven gedefinieerde instantiemethode kan als volgt worden aangeroepen met een object van de klasse waartoe het behoort.
MyClass objMyClass=nieuwe MyClass();
objMyClass. MyInstanceMethod ();
Wat is het verschil tussen statische en niet-statische methode?
Statische methoden zijn methoden die zijn gekoppeld aan een klasse, terwijl niet-statische methoden methoden zijn die zijn gekoppeld aan objecten van een klasse. Een klasse moet eerst worden geïnstantieerd om een niet-statische methode aan te roepen, maar statische methoden hebben deze vereiste niet. Ze kunnen eenvoudig worden aangeroepen met de naam van de klasse die de statische methode bevat. Een ander belangrijk verschil is dat een niet-statische methode meestal een verwijzing heeft naar het object dat de methode heeft aangeroepen en toegankelijk is met het trefwoord this in de methode. Maar dit sleutelwoord kan niet worden gebruikt in statische methoden, omdat ze niet aan een bepaald object zijn gekoppeld.