Vorislik va ismlarni yashirish
Agar xosila sinf a’zosi ismi baza sinfdagi a’zo ismi bilan bir xil bo’lsa, unda baza sinf a’zosi xosila sinfida yashirin a’zoga aylanadi. Agar buni ataylab quyilgan bo’lsa, unda xosila bazadagi a’zo oldiga new so’zi qo’yiladi.
G’G’ Primer sokro’tiya imeni v svyazi s nasledovaniem.
using System;
class A {
public int i q 0;
}
G’G’ Sozdaem proizvodno’y klass.
class V : A {
new int i; G’G’ Etot chlen i skro’vaet chlen i klassa A.
public V(int b) {
i q b; G’G’ Chlen i v klasse V. }
}
public void show() {
Console.WriteLine(
"Chlen i v proizvodnom klasse: " Q i);
}
}
class NameHiding {
public static void Main() {
V ob q new V(2);
ob.show();
}
}
YAshirin ismlarga base so’zi yordamida kirish
base so’zini this ma’noda ham foydalansa bo’ladi. Bu xolda base co’zi quyidagi ma’noda keladi:
base. a’zo
Bu shakl asosan yashirin ismlar foydalangan sinflarda foydalanadi:
G’G’ Ispolzovanie sso’lki base dlya dostupa k skro’tomu imeni.
using System;
class A {
public int i q 0;
}
G’G’ Sozdaem proizvodno’y klass. class V : A {
new int i; II Eta peremennaya i skro’vaet i klassa A.
public B(int a, int b) {
base.i q a; G’G’ Tak mojno obratitsya k i klassa A.
i q b; G’G’ Peremennaya i v klasse V.
}
public void show ( ) {
G’G’ Eta instruksiya otobrajaet peremennuyu i v klasse A.
Console.WriteLine ("i v bazovom klasse: " Q base.i);
G’G’ Eta instruksiya otobrajaet peremennuyu i v klasse V.
Console.WriteLine ("i v proizvodnom klasse: " Q i) ;
}
}
class UncoverName {
public static void Main ( ) {
V ob q new V(1, 2) ;
ob.show ( );
}
}
Ushbu dasturni natijasi quyidagicha ko’rinishda bo’ladi:
i v bazovom klasse: 1
i v proizvodnom klasse: 2
base izoxi yordamida yana yashirin usulni chaqirish mumkin. Misol ko’ramiz:
G’G’ Vo’zov skro’togo metoda.
using System; .
class A (
public int i q 0;
G’G’ Metod show ( ) v klasse A.
public void show ( ) {
Console.WriteLine ("i v bazovom klasse: " Q i);
}
}
G’G’ Sozdaem proizvodno’y klass.
class V : A {
new int i; G’G’ Eta peremennaya i skro’vaet
G’G’ odnoimennuyu peremennuyu klassa A.
public V(int a, int b) {
base.i q a; G’G’ Tak mojno obratitsya k
G’G’ peremennoy i klassa A.
i q b; G’G’ Peremennaya i v klasse V.
}
G’G’ Etot metod skro’vaet metod show(), opredelenno’y v
G’G’ klasse A. Obratite vnimanie na ispolzovanie
G’G’ klyuchevogo slova new.
new public void show() {
base.show();
G’G’ Vo’zov metoda show() klassa A.
G’G’ Otobrajaem znachenie peremennoy i klassa V.
Console.WriteLine("i v proizvodnom klasse: " Q i);
}
}
class UncoverName {
public static void Main() {
V ob q new V (1, 2);
ob.show();
}
}
Dastur natijasi quyidagidan iborat:
i v bazovom klasse: 1
i v proizvodnom klasse: 2
Do'stlaringiz bilan baham: |