base: Utilizzato per consentire l'accesso a membri pubblici o protetti della classe base nelle classi derivate, ma solo nei costruttori, nei metodi di istanza e negli accessor di proprietà di istanza. Le caratteristiche specifiche del riassunto in MSDN includono: (1) Richiamare un metodo che è stato sovrascritto da altri metodi sulla classe base. (2) Specificare il costruttore di classe base da chiamare quando si crea un'istanza di classe derivata. Base è comunemente usato per comunicare con la classe base quando l'oggetto di classe derivato viene inizializzato. La base può accedere ai membri pubblici e protetti della classe base, mentre i membri privati non sono accessibili. Nell'ereditarietà multilivello, ci sono due situazioni in cui la base può puntare alla classe genitore: primo, quando c'è un sovraccarico, la base punterà al metodo del membro della classe genitore che eredita direttamente; In assenza di sovraccarico, la base può indicare un metodo pubblico o protetto di qualsiasi genitore genitore.
this: L'istanza attuale usata per fare riferimento alla classe, anch'essa i metodi ereditari, può solitamente nascondere questa affermazione. Le caratteristiche riassuntive in MSDN includono principalmente:
(1) Limiti membri nascosti da nomi simili (2) Passare l'oggetto come parametro ad altri metodi (3) Indicizzatore di dichiarazioni Questo si riferisce all'oggetto di classe stesso, che viene utilizzato per accedere a tutte le costanti, campi, attributi e membri del metodo della classe, indipendentemente dal livello di accesso dell'elemento di accesso. Poiché questo è limitato solo all'interno dell'oggetto e non può essere visto all'esterno dell'oggetto, questa è l'idea di base. Inoltre, gli elementi statici non fanno parte dell'oggetto, quindi non possono essere riferiti nei metodi statici.
Regole generali:
1. Usa la base e questo il meno possibile. Oltre a evitare conflitti tra nomi di sottoclasse e chiamare altri costruttori in un costruttore, l'uso di base e questo può portare a risultati indesiderati. 2. L'uso della base e questo in elementi statici non è permesso. Il motivo è che base e this accedono a entrambe le istanze delle classi, cioè oggetti, mentre i membri statici possono essere accessibili solo da classi, non da oggetti. 3. La base è progettata per ottenere il polimorfismo. 4. Utilizzare questa o le parole chiave base per specificare un solo costruttore, il che significa che questo e base non possono essere applicati contemporaneamente a un costruttore. 5. In termini semplici, base viene usato per accedere ai membri della classe base riscritti nella classe derivata; Questo viene utilizzato per accedere ai membri di questa categoria, ovviamente, inclusi i membri di proprietà pubblica ereditati e quelli protetti. 6. Oltre a base, un altro modo per accedere ai membri della classe base è convertire il tipo visualizzato. È solo che il metodo non può essere statico. |