base: Folosit pentru a permite accesul la membri publici sau protejați ai clasei de bază în clasele derivate, dar doar în constructori, metode de instanță și accesorii proprietăților instanței. Caracteristicile specifice ale rezumatului din MSDN includ: (1) Apelează o metodă care a fost suprascrisă de alte metode pe clasa de bază. (2) Specifică constructorul de clasă de bază care trebuie apelat la crearea unei instanțe de clasă derivată. Baza este folosită frecvent pentru a comunica cu clasa de bază atunci când obiectul clasei derivate este inițializat. Baza poate accesa membrii publici și protejați ai clasei de bază, iar membrii privați nu sunt accesibili. În moștenirea multi-strat, există două situații în care baza poate indica clasa părinte: în primul rând, când există o supraîncărcare, baza va indica metoda membrului clasei părinte care moștenește direct; În absența suprasolicitării, baza poate indica o metodă publică sau protejată a oricărui părinte-părinte.
this: Instanța curentă folosită pentru a face referire la clasă, de asemenea metodele moștenite, pot de obicei să ascundă acest lucru. Caracteristicile sumare din MSDN includ în principal:
(1) Limitează membrii care sunt ascunși sub nume similare (2) Transmite obiectul ca parametru către alte metode (3) Indexator de declarații Aceasta se referă la obiectul clasei în sine, care este folosit pentru a accesa toate constantele, câmpurile, atributele și membrii metodei clasei, indiferent de nivelul de acces al elementului de acces. Deoarece aceasta este limitată doar la interiorul obiectului și nu poate fi văzută în afara acestuia, aceasta este ideea de bază a acestui lucru. De asemenea, membrii statici nu fac parte din obiect, deci acest lucru nu poate fi referențiat în metodele statice.
Reguli generale:
1. Folosește baza și asta cât mai puțin posibil. Pe lângă evitarea conflictelor de nume de subclase și apelarea altor constructori într-un singur constructor, utilizarea base și aceasta pot duce la rezultate nedorite. 2. Utilizarea bazei și aceasta în elemente statice nu este permisă. Motivul este că baza și aceasta accesează ambele instanțe ale claselor, adică obiecte, în timp ce membrii statici pot fi accesați doar de clase, nu de obiecte. 3. Baza este concepută pentru a obține polimorfismul. 4. Folosiți acest sau cuvintele cheie de bază pentru a specifica un singur constructor, ceea ce înseamnă că acesta și baza nu pot fi aplicate simultan unui constructor. 5. Pe scurt, baza este folosită pentru a accesa membrii clasei de bază rescriși în clasa derivată; Aceasta este folosită, desigur, pentru a accesa membrii acestei categorii, inclusiv membrii moșteniți ai proprietății publice și cei protejați. 6. Pe lângă bază, o altă modalitate de a accesa membrii clasei de bază este să convertești tipul afișat. Doar că metoda nu poate fi statică. |