louis vuitton bag moncler jacka ugg boots mbt sko louis vuitton oslo moncler ugg www.steklo1.ru
   Поиск
 

Изучаем C Sharp (C#)

Программирование на C Sharp (C#) с нуля

Cи Шарп это просто Simple C#
Логин Пароль Вход Регистрация
Главная
Изучаем C#
Web-приложения
Win-приложения
Web-сервисы
ADO.NET
FrameWork
Алгоритмы
Исходники
Классы
Среда разработки
Статьи
Форум
FAQ
О Проекте
Обратная связь
Отблагодарить
Rambler's Top100

Введение в классы - Изолированные классы (часть 11)

Изолированные классы


Если вы хотите быть уверены, что класс никогда не будет использован как базовый, при определении класса примените модификатор sealed.
Единственное ограничение: абстрактный класс не может быть изолированным, так как в силу своей природы предназначен для использования в качестве базового. И еще. Хотя изолированные классы предназначены для предотвращения непреднамеренного создания производных классов, определение класса как изолированного позволяет выполнить оптимизацию периода выполнения. В частности, поскольку компилятор гарантирует отсутствие у класса любых производных классов, есть возможность преобразования виртуальных вызовов для изолированного класса в невиртуальные вызовы. Вот пример определения класса как изолированного:


using System;

sealed class MyPoint
{
    public MyPoint(int x, int y)
    {
        this.x = x;
        this.у = у;
        private int X;
        public int x;
        get x;
        return this.X;
    }
set
this.X = value;
private int Y;
public int у
{
get
return this.Y;
}
set
this.Y = value;

class SealedApp
{
    public static void Main()
    {
        MyPoint pt = new MyPoint(6,16);
        Console.WriteLine("x = {0}, у - {1}", pt.x, pt.y);
    }
}



Здесь использован модификатор доступа private для внутренних членов класса X и Y. В результате применения модификатора protected компилятор выдаст предупреждение, так как защищенные члены видимы производным классам, а, как вам известно, у изолированных классов производных классов нет.

Предыдущая стр.    Оглавление    Следующая стр.
Средняя оценка: (1,57 - 7 голосов)
Для оценки необходимо зарегистрироваться


Только зарегистрировавшиеся пользователи могут оставлять комментарии

Комментирует ASVERUS 08.01.2011 12:16:44
при попытке запуска - 9 ошибок

Комментирует SHPION 10.01.2011 8:26:18
Шикарный пример Я ради него зарегистрировался. Этот пример взорвал мне мозг. Самостоятельно добится его работоспособности позволил только многолетний опыт С++. "В результате применения модификатора protected..." - это я так понимаю вместо хэдшота?



Практический обучающий видео-курс "Основы C#"

От профессионального
разработчика для начинающих
и опытных программистов!

Кликните, чтобы изучить
язык C# с нуля и научиться
писать программы под платформу .NET!