Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Desktop_1 / ЛК / Лекция 12КлассыООП.doc
Скачиваний:
44
Добавлен:
10.06.2015
Размер:
114.69 Кб
Скачать

Лекция 12

16. Объектно-ориентированное программирование (ооп)

Объектно-ориентированныйподход основан на:

  1. выделении классовобъектов;

  2. установлении свойствобъектов иметодових обработки (подпрограммы);

  3. создании иерархии классов,наследованиисвойств объектов иметодових обработки.

ООПиспользуется при разработке крупных программных проектов.

Традиционный подход:

Y = Z(X); {Z- функция над переменнойX}y=sin(x)

То же действие с ООП:

Y= X. Z; {Z- метод, применяемый к объектуX}y=Math.Sin(x)

Основные понятия ООП: объект, свойства, метод.

Объектсовокупностьсвойств, методових обработки (процедуры и функции) исобытий, на который данный объект может реагировать, и которые приводят к изменению свойств объекта.

Объект – многократно используемый программный модуль – экземпляр класса.

16.1. Классы в с#

Однотипные объекты могут объединятьсявклассы (группы).

Класс – множество объектов, связанных общностью структуры и поведения. Или особый тип записи, имеющий в своем составе поля, свойства и методы обработки.

Конкретный объект, имеющий структуру этого класса, называется экземпляромкласса, напримерbutton1. Сам класс определяется общими свойствами, которые имеют все экземпляры этого класса.

Например, объекты(экземпляры)button1,button2 … относятся к классуButton.

Поля классаслужат для хранения информации об объекте (аналогичны полям записи). Одной стороны, свойства можно использовать как поля, например, присваивать им значения с помощью оператора присваивания, с другой стороны, внутри класса доступ к значениям свойств выполняется методами класса.

button1. Font.Size label1. BackColor

поля

поля

Методаминазываются процедуры и функции, предназначенные для обработки внутренних данных объекта данного класса (полей). Объект может обладать набором заранее встроенных методов обработки, созданных пользователем, которые выполняются при наступлении заранее определенных событий, например: нажатие кнопки мыши, определенной клавиши, выбор пункта меню и т.п..

Свойства характеристикиобъекта, его параметры. Объект представляется с помощью присущих ему свойств.

Например:

ОБЪЕКТ_1 (свойство-1, свойство-2, . . . свойство-k).

Свойства объектов различных классов могут пересекаться. Например:

ОБЪЕКТ_А (. . свойство-n, свойство-m, . . .свойство-k).

ОБЪЕКТ_B(свойство-1,. . .свойство-n,. . .свойство-k).

ОБЪЕКТ_А – button1 (Font, BackColor, ForeColor, Image, Text, Visible)

ОБЪЕКТ_B – label1 (Font, BackColor, ForeColor, TextAlign, Text, Visible)

Классы

Класс является чертежом для пользовательского типа данных. Определив класс, его можно использовать, загрузив в память. Класс, загруженный в память, называется объектом или экземпляром класса. Классы объявляются с помощью ключевого слова class. Экземпляр класса создается с помощью ключевого слова new.

class<Имя класса> [: список родителей]

{

//объявление переменных экземпляра

доступ тип переменная1;

. . . . . . . . . .

доступ тип переменнаяN;

//объявление методов

доступ тип_возврата метод1(параметры)

{

// тело метода1

}

}

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

Класс может содержать:

  • Методы.

  • Свойства.

  • Поля.

  • События.

  • Делегаты.

Члены класса могут иметь модификаторы:

  • Ключевое слово public является модификатором доступа для типов и членов типов. Общий (public) доступ является уровнем доступа с максимальными правами. Ограничений доступа к общим членам не существует.

  • Ключевое слово private является модификатором доступа к члену класса. Закрытый (private) доступ является уровнем доступа с минимальными правами. Доступ к закрытым членам можно получить только внутри тела класса или структуры, в которой они объявлены.

  • Ключевое слово protected является модификатором доступа к члену класса. Доступ к члену с модификатором protected (защищенный) возможен внутри класса и из производных экземпляров класса.

  • Модификатор static используется для объявления статического члена, принадлежащего собственно типу, а не конкретному объекту. Модификатор static можно использовать с классами, полями, методами, свойствами, операторами, событиями и конструкторами. Нельзя использовать с индексаторами, деструкторами или типами, отличными от классов.

  • При использовании в качестве возвращаемого типа метода ключевое слово void обозначает, что этот метод не возвращает какого-либо значения. Ключевое слово void не может входить в список параметров метода.

Соседние файлы в папке ЛК