abstracte modifiers die klassen en methoden kunnen aanpassen
1. De abstracte modifierklasse maakt deze klasse een abstracte klasse, deze klasse kan geen objectinstanties genereren, maar kan worden gebruikt als een type dat door objectvariabelen wordt gedeclareerd, dat wil zeggen, compileertijdtypes, abstracte klassen zijn als halfvoltooide producten van een klasse, die door subklassen moeten worden geërfd en de abstracte methoden moeten overschrijven.
2. De abstracte modificatiemethode maakt deze methode een abstracte methode, dat wil zeggen, er is alleen een verklaring (definitie) zonder implementatie, en het implementatiegedeelte is "; in plaats daarvan. Vereist subclass-overerving (override).
Opmerking: Een klasse met een abstracte methode moet een abstracte klasse zijn. Abstracte klassen zijn echter niet noodzakelijkerwijs allemaal abstracte methoden, maar kunnen ook concrete methoden zijn.
abstractmodifiers moeten in de klassenaam worden geplaatst bij het wijzigen van de klasse.
De abstracte modificatiemethode vereist dat zijn subklassen deze methode overschrijven (implementeren). De subklasse kan polymorf worden genoemd om de methode te overschrijven (geïmplementeerd), dat wil zeggen, de abstracte methode moet in zijn subklasse worden geïmplementeerd, tenzij de subklasse zelf ook een abstracte klasse is.
Opmerking: De ouderklasse is een abstracte klasse, en er zitten abstracte methoden in, dus de subklasse erft de ouderklasse en implementeert (overschrijft) alle abstracte methoden in de ouderklasse, zodat de subklasse de mogelijkheid heeft om instanties van objecten te creëren, anders moet de subklasse ook een abstracte klasse zijn. Er kunnen constructiemethoden zijn in abstracte klassen, wat de constructiemethoden zijn van de ouderklasse (abstracte klasse) die de subklasse moet aanroepen bij het construeren van het subklasse-object. Hier is een eenvoudig voorbeeld van een abstracte klasse abstracte klasse E{ publieke abstracte leegte show(); Publieke samenvatting kan worden weggelaten
} Daarna zijn andere klassen, als ze het erven, meestal om de methoden erin te implementeren klasse F breidt E{ uit void show(){ Schrijf code voor specifieke implementaties
}
} Ten slotte, als een ouderreferentie in de hoofdmethode wordt gedefinieerd om naar een kindobject te wijzen, zal polymorfisme optreden, zoals E e=nieuwe F(); e.show(); De show()-methode in de subklasse wordt eigenlijk genoemd
|