Statische versus niet-statische methode
Een methode is een reeks instructies die wordt uitgevoerd om een specifieke taak uit te voeren. Methoden kunnen inputs aannemen en outputs produceren. Statische en niet-statische methoden zijn twee soorten methoden die aanwezig zijn in objectgeoriënteerde programmeertalen. Een statische methode is een methode die is gekoppeld aan een klasse. 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?
Bij objectgeoriënteerd programmeren is de statische methode een methode die is gekoppeld aan een klasse. Daarom hebben statische methoden niet de mogelijkheid om op een bepaald exemplaar van een klasse te werken. Statische methoden kunnen worden aangeroepen zonder een object te gebruiken van de klasse die de statische methode bevat. Hieronder volgt een voorbeeld van het definiëren van een statische methode in Java. De statische moet worden gebruikt bij het definiëren van een statische methode in Java.
openbare klasse MyClass {openbare statische leegte MyStaticMethod () {// code van de statische methode}
}
De hierboven gedefinieerde statische methode kan als volgt worden aangeroepen met behulp van 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 behulp van 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), wanneer een niet-statische methode wordt aangeroepen, wordt het object dat de methode heeft aangeroepen, doorgegeven als een impliciet argument (dit wordt de 'deze' 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 behulp van 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 dat deze toegankelijk is met het trefwoord this in de methode. Maar dit sleutelwoord kan niet in statische methoden worden gebruikt, omdat ze niet aan een bepaald object zijn gekoppeld.