Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Краткая справка



Классы являются шаблонами, на основе которых создаются объекты. Каждый объект содержит данные и методы для работы с этими данными. Класс определяет, какие данные может содержать каждый объект этого класса, но не содержит самих данных. При создании экземпляра объекта класса его поля заполняются конкретными данными.

Поля данных класса представляют собой любые переменные, связанные с классом. Если поля и функции объявлены как public, они доступны за пределами класса.

После того как будет создан экземпляр объекта, к полям класса можно осуществлять доступ с помощью синтаксиса объект.имя_поля.

Новые классы могут наследовать содержание (данные и методы) уже существующих классов. Такой новый класс называется производным. Класс, от которого он наследует, называется базовым. На основе наследования создаются иерархии классов. Проектирование иерархий классов – основа методологии объектно-ориентированного программирования.

Абстрактные классы содержат абстрактные методы – методы без реализации. Экземпляры таких классов не могут создаваться, но абстрактные классы часто используются в качестве базовых классов для иерархий классов, так как позволяют задать типовой набор функций, обязательный для реализации в производных классах. Такой абстрактный класс содержит обобщённую модель классов определённого назначения и ссылки на его тип могут использоваться в функциях, которым впоследствии будут передаваться экземпляры различных производных от него классов.

Контейнерные классы используются для хранения и обработки наборов объектов. Наиболее простой структурой данных такого рода является обычный массив. Массив в C# является экземпляром класса System.Array. System.Array обеспечивает эффективный доступ к отдельному элементу по его индексу. Однако Array обладает недостатком, заключающимся в необходимости указания его размера при создании экземпляра класса. После его создания не существует возможности добавлять, вставлять или удалять элементы..NET поддерживает множество других контейнерных классов, которые полезны в различных обстоятельствах.

За исключением System.Array, все классы структур данных располагаются в пространстве имён System.Collections. В.NET 2.0 добавилось пространство имён System.Collections.Generic, в котором находятся параметризованные реализации контейнерных классов. Таким классам при создании в качестве параметра, передаваемого в угловых скобках, указывается тип данных, который будет храниться в контейнере. В число этих классов входит класс List, реализующий динамический массив (массив переменного размера) для данных определённого типа. Если при инициализации такого массива указать в качестве параметра определённый класс, то массив можно будет использовать для хранения объектов этого класса и классов, производных от него.

Класс List может быть проинициализирован следующим образом для хранения динамического массива экземпляров любых классов, производных от класса Figure:

List<Figure> array;

array = new List<Figure>();

После этого в контейнер можно добавлять элементы при помощи метода Add (), которому передаётся ссылка на экземпляр добавляемого объекта.

Число элементов, в текущий момент содержащихся в List, может быть получено с помощью свойства Count:

int n = array.Count;

Для перебора всех элементов динамического массива удобно использовать оператор языка C# foreach:

foreach (Figure f in array) { … }

Блок в фигурных скобках выполняется для всех элементов array, ссылка на которые поочерёдно помещается в переменную (в данном случае - f), доступную внутри блока. Для доступа к элементам List можно использовать и обычную индексную операцию – [].

Операционная система Windows и среда.NET не обеспечивают приложениям сохранение графической информации, выводимой ими в свои окна. В ситуациях перекрытия этих окон другими окнами и их сворачивания ранее выведенная информация будет исчезать, если приложение не обеспечит восстановление содержания окна. Для этих целей предназначено событие Paint, которое должны обрабатывать классы форм и управляющих элементов для восстановления своего содержания. Данное событие генерируется, когда содержание окна должно быть обновлено, в первый раз – при первом отображении окна. Обработчик события Paint получает второй аргумент типа PaintEventArgs, поле Graphics которого содержит объект типа Graphics, через который должны выполняться в этом обработчике операции графического вывода.

Graphics в обработчике события Paint не должен запрашиваться через метод CreateGraphics.





Дата публикования: 2015-06-12; Прочитано: 284 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...