C# для начинающих Пахомов Б. И



Download 8,15 Mb.
Pdf ko'rish
bet113/266
Sana20.04.2022
Hajmi8,15 Mb.
#567200
1   ...   109   110   111   112   113   114   115   116   ...   266
Bog'liq
C# for beginners


Часть II. Объектно-ориентированное программирование 
// Метод 
public int M_A() 

return (a + b); 


class B 

public int c; 
public A ab = new A(15,20); 
public B(int cc) 

c=cc; 


class Program 

public static void Main() 

B ba = new B(5); 
int sum=ba.c + ba.ab.M_A(); 
Console.WriteLine("Использование запечатанного " + 
"класса\nкак объекта создаваемого"); 
Console.WriteLine("Поле с класса В = {0}", ba.c); 
Console.WriteLine("Поля запечатанного класса А " + 
"равны {0}, {1}",ba.ab.A_a, ba.ab.A_b); 
Console.WriteLine("Результат суммирования поля " + 
"из В и работы метода из А: {0}", sum); 
// TODO: Implement Functionality Here 
Console.Write("Press any key to continue... "); 
Console.Read(); 



Итак, имеется запечатанный класс 
А
с двумя полями, доступ к которым 
осуществляется только через два соответствующих свойства — 
А-а
и 


Глава 8. Введение в классы 
177 
А_b
. В классе 
А
есть метод 
M_A()
, суммирующий значения закрытых по-
лей класса 
А
. Мы строим класс 
В
с одним полем 
с
и объектом 
ab
, полу-
чаемым из запечатанного класса 
А
. Вывод данных на экран показывает, 
что в классе 
В
используется функциональность класса 
А
(в частности, 
метод 
M_A()
), хотя наследования не было, т. к. оно невозможно из-за 
запечатанности 
А
. Заметим, что если объект одного класса вложен в 
объект другого класса, то доступ к элементам вложенного объекта идет 
через точку от имени объекта (это общее правило), а само имя объекта, 
которое определяет членство объекта в другом классе, идет через точку 
от имени объекта основного класса. В нашем случае, чтобы добраться 
до свойства 
А-а
из запечатанного класса, надо было записать 
ba.ab.A_a

Рис. 8.9. 
Результат использования запечатанного класса
в создаваемом классе 
Вложенность классов 
Рассмотренный выше пример является примером вложенности типов:
в C# допускается вложенность типов. (В данном случае классов как
типов. Про остальные подобные типы мы пока что ничего не знаем.) 
При этом вложенный тип считается обычным членом охватывающего 
или внешнего класса. Таким вложенным типом можно манипулировать, 
как и любым другим членом класса. Синтаксис таков: 
public class OuterClass 

public class InnerClass1 {} 
private class InnerClass2 {} 

Если внутренний класс станет использоваться вне класса, в котором он 
определен, его, естественно, надо будет указывать с именем включаю-
щего его класса (мы это видели в приведенном ранее примере на уровне 
объектов). Например, можем записать фрагмент основной программы: 


178 
Download 8,15 Mb.

Do'stlaringiz bilan baham:
1   ...   109   110   111   112   113   114   115   116   ...   266




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish