Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПргЯВУ_ЛК_СтефановаИА.doc
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
4.41 Mб
Скачать

Лекция 10

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

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

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

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

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

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

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

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

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

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

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

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

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

15.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, protected, static