Net framework 5, а также среды Visual Studio 2012 и C#



Download 6,27 Mb.
Pdf ko'rish
bet137/658
Sana12.06.2023
Hajmi6,27 Mb.
#950840
1   ...   133   134   135   136   137   138   139   140   ...   658
Bog'liq
CLR via C Programmirovanie na platforme Microsoft NET Framework 4 5 na yazyke C

ПриМеЧание
Подробнее.о.правилах.применения.в.C#.модификаторов.доступа.к.типам.и.членам,.
а.также.о.том,.какие.модификаторы.C#.выбирает.по.умолчанию.в.зависимости.от.
контекста.объявления,.рассказывается.в.разделе.«Declared.Accessibility».специфи-
кации.языка.C# 
таблица 6.1
.(
продолжение
)


193
Статические.классы
Более того, как видно из табл. 6.1, в CLR есть модификатор доступа 
родовой 
и сборочный
. Но разработчики C# сочли этот атрибут лишним и не включили 
в язык C#.
Если в производном типе переопределяется член базового типа, компилятор C# 
требует, чтобы у членов базового и производного типов были одинаковые модифи-
каторы доступа. То есть если член базового класса является 
защищенным
, то и член 
производного класса должен быть 
защищенным
. Однако это ограничение языка C#, 
а не CLR. При наследовании от базового класса CLR позволяет снижать, но не по-
вышать ограничения доступа к члену. Например, 
защищенный
метод базового класса 
можно переопределить в производном классе в 
открытый
, но не в 
закрытый
. Дело 
в том, что пользователь производного класса всегда может получить доступ к методу 
базового класса путем приведения к базовому типу. Если бы среда CLR разрешала 
устанавливать более жесткие ограничения на доступ к методу в производном типе, 
то эти ограничения бы элементарно обходились.
статические классы
Существуют классы, не предназначенные для создания экземпляров, например 
Console

Math

Environment
и 
ThreadPool
. У этих классов есть только статические 
методы. В сущности, такие классы существуют лишь для группировки логиче-
ски связанных членов. Например, класс 
Math
объединяет методы, выполняющие 
математические операции. В C# такие классы определяются с ключевым словом 
static
. Его разрешается применять только к классам, но не к структурам (значимым 
типам), поскольку CLR всегда разрешает создавать экземпляры значимых типов
и нет способа обойти это ограничение.
Компилятор налагает на статический класс ряд ограничений.
‰
Класс должен быть прямым потомком 
System.Object
— наследование любому 
другому базовому классу лишено смысла, поскольку наследование применимо 
только к объектам, а создать экземпляр статического класса невозможно.
‰
Класс не должен реализовывать никаких интерфейсов, поскольку методы ин-
терфейса можно вызывать только через экземпляры класса.
‰
В классе можно определять только статические члены (поля, методы, свойства 
и события). Любые экземплярные члены вызовут ошибку компиляции.
‰
Класс нельзя использовать в качестве поля, параметра метода или локальной 
переменной, поскольку это подразумевает существование переменной, ссы-
лающейся на экземпляр, что запрещено. Обнаружив подобное обращение со 
статическим классом, компилятор вернет сообщение об ошибке.
Приведем пример статического класса, в котором определены статические члены; 
сам по себе класс не представляет практического интереса.


194
Download 6,27 Mb.

Do'stlaringiz bilan baham:
1   ...   133   134   135   136   137   138   139   140   ...   658




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