base: Gebruikt om toegang te krijgen tot publieke of beschermde leden van de basisklasse in afgeleide klassen, maar alleen in constructors, instantiemethoden en instantie-eigendomsaccessors. Specifieke kenmerken van de samenvatting in MSDN zijn onder andere: (1) Roep een methode aan die is overschreven door andere methoden op de basisklasse. (2) Specificeer de basisklasse-constructor die moet worden aangeroepen bij het maken van een afgeleide klasse-instantie. basis wordt vaak gebruikt om te communiceren met de basisklasse wanneer het afgeleide klasse-object wordt geïnitialiseerd. De basis kan toegang krijgen tot publieke en beschermde leden van de basisklasse, en privéleden zijn niet toegankelijk. Bij meerlagige overerving zijn er twee situaties waarin basis naar de ouderklasse kan verwijzen: ten eerste, wanneer er een overbelasting is, zal basis wijzen op de methode van het ouderklasselid dat direct erft; Bij afwezigheid van overbelasting kan de basis wijzen op een openbare of beschermde methode van een ouderouder.
this: De huidige instantie die wordt gebruikt om naar de klasse te verwijzen, ook geërfde methoden, kan dit meestal verbergen. De samenvattende functies in MSDN omvatten hoofdzakelijk:
(1) Beperkt leden die onder vergelijkbare namen verborgen zijn (2) Het object als parameter doorgeven aan andere methoden (3) Verklaringsindexer Dit verwijst naar het klasseobject zelf, dat wordt gebruikt om toegang te krijgen tot alle constanten, velden, attributen en methodleden van de klasse, ongeacht het toegangsniveau van het toegangselement. Omdat dit alleen beperkt is tot de binnenkant van het object en niet buiten het object kan worden gezien, is dit het basisidee hiervan. Bovendien maken statische leden geen deel uit van het object, dus dit kan niet worden verwezen in statische methoden.
Algemene regels:
1. Gebruik de basis en dit zo min mogelijk. Naast het vermijden van conflicten met subklassenamen en het aanroepen van andere constructors in één constructor, kan het gebruik van basis en dit leiden tot ongewenste resultaten. 2. Het gebruik van basis en dit in statische leden is niet toegestaan. De reden is dat basis en dit beide instanties van klassen, oftewel objecten, benaderen, terwijl statische leden alleen toegankelijk zijn door klassen, niet door objecten. 3. De basis is ontworpen om polymorfisme te bereiken. 4. Gebruik de trefwoorden dit of basis om slechts één constructor te specificeren, wat betekent dat deze en basis niet tegelijkertijd op een constructor kunnen worden toegepast. 5. In eenvoudige termen wordt basis gebruikt om toegang te krijgen tot de herschreven basisklasseleden in de afgeleide klasse; Dit wordt natuurlijk gebruikt om toegang te krijgen tot leden van deze categorie, inclusief geërfd publiek eigendom en beschermde leden. 6. Naast basis is een andere manier om basisklasseleden te bereiken het converteren van het weergegeven type. Het is alleen dat de methode geen statische methode kan zijn. |