Объектно Ориентированное-Программирование простое описание — различия между версиями
Админ (обсуждение | вклад) м |
Тест (обсуждение | вклад) м |
||
Строка 2: | Строка 2: | ||
* Интерфейсы - внешние переменные объекта все остальные переменные внутренние | * Интерфейсы - внешние переменные объекта все остальные переменные внутренние | ||
=== Причины появления ООП=== | === Причины появления ООП=== | ||
− | ==== | + | ==== Спагетти код==== |
=== Решение === | === Решение === | ||
=== Модули === | === Модули === | ||
Строка 9: | Строка 9: | ||
===== Наследование===== | ===== Наследование===== | ||
===== Полиморфизм ===== | ===== Полиморфизм ===== | ||
+ | |||
+ | == Определения Класса и связанных понятий == | ||
+ | |||
+ | '''Важно''': | ||
+ | * Классы объявляются после конца программы (после оператора '''КонецПрограммы'''). | ||
+ | * Функции и процедуры объявляются в самом конце программы между операторами '''КонецПроцедуры''' (Старт) и '''КонецПрограммы'''. | ||
+ | |||
+ | '''Класс''' - это составной тип, который, для удобства программиста, логические объединяет вместе переменный, процедуры и функции которые эти переменные используют. Аналогом класса в процедурном программировании является ТИП переменной. | ||
+ | |||
+ | Класс состоит из: | ||
+ | * Переменные - чтобы отличать их от обычных переменных в классах они называются '''Поля''' или '''Свойства''' (объекта). | ||
+ | * Функции и Процедуры использующие эти переменные - чтобы отличать их от обычных функций и процедур в классах они называются '''Методы''' и '''События''' (функции которые реагируют на внешние по отношению к объекту события, например пользователь Щёлкает по кнопке "Закрыть окно") | ||
+ | |||
+ | '''Объект''' - это один экземпляр класса, т.е. Класс это "штамп" из заготовок переменных и привязанных к ним процедур которые работают с этими переменными. | ||
+ | |||
+ | Чем отличается Переменная от Поля ? | ||
+ | * Переменная - используется при вычислениях внутри Функции или Процедуры. Как только процедура или функция завершила свою работу и передала результат работы в то место программы откуда её вызвали, то все используемые ей переменные уничтожаются, чтобы не занимать память. | ||
+ | * Поле - это "переменная" используемая внутри объектов. Сточки зрения компилятора она организованна совсем по другому. В Поле одного объекта может писать или читать другой объект (если ему разрешать читать или писать в поле принадлежащее другому объекту). Поле гораздо более мощная конструкция, при создании поля программист может не только указать Тип хранящегося в нём значения, но и разрешить или запретить другим методом других объектов читать содержащееся в этом Поле значения. | ||
+ | |||
+ | А если при использования '''Поля''' другой объект попытается записать в '''Поле''' "переменную правильного типа, но неправильного значения" или у объекта необходимо изменять несколько '''Полей''' синхронно или по определённому алгоритму ? | ||
+ | |||
+ | Для этого к выбранному '''Полю''' можно добавить 2 специальных метода со стандартными именами '''Прочитать''' и '''Установить'''. При попытке прочитать значение этого поля или записать в него какое либо значение автоматически будут вырываться соответствующие методы '''Прочитать''' и '''Установить''' - внутри которых будут прописаны соответствующие алгоритмы по проверке значения присваиваемых переменных и/или синхронному изменению значений нескольких Полей этого объекта. Чтобы отличить такое "Поле" от обычных его называют - '''Свойство'''. | ||
+ | |||
+ | '''Конструктор Класса''' - это просто специальная процедура которая присваивает значения одному или нескольким Полям объекта при его создании по прописанным в неё алгоритмам. | ||
+ | |||
+ | |||
[[Категория:Программирование]] | [[Категория:Программирование]] | ||
[[Категория:Перфолента.NET]] | [[Категория:Перфолента.NET]] | ||
[[Категория:Перфо.NET]] | [[Категория:Перфо.NET]] |
Версия 17:56, 27 сентября 2020
- Интерфейсы - внешние переменные объекта все остальные переменные внутренние
Содержание
Причины появления ООП
Спагетти код
Решение
Модули
Записи
Код в капсулах - Инкапсулирование
Наследование
Полиморфизм
Определения Класса и связанных понятий
Важно:
- Классы объявляются после конца программы (после оператора КонецПрограммы).
- Функции и процедуры объявляются в самом конце программы между операторами КонецПроцедуры (Старт) и КонецПрограммы.
Класс - это составной тип, который, для удобства программиста, логические объединяет вместе переменный, процедуры и функции которые эти переменные используют. Аналогом класса в процедурном программировании является ТИП переменной.
Класс состоит из:
- Переменные - чтобы отличать их от обычных переменных в классах они называются Поля или Свойства (объекта).
- Функции и Процедуры использующие эти переменные - чтобы отличать их от обычных функций и процедур в классах они называются Методы и События (функции которые реагируют на внешние по отношению к объекту события, например пользователь Щёлкает по кнопке "Закрыть окно")
Объект - это один экземпляр класса, т.е. Класс это "штамп" из заготовок переменных и привязанных к ним процедур которые работают с этими переменными.
Чем отличается Переменная от Поля ?
- Переменная - используется при вычислениях внутри Функции или Процедуры. Как только процедура или функция завершила свою работу и передала результат работы в то место программы откуда её вызвали, то все используемые ей переменные уничтожаются, чтобы не занимать память.
- Поле - это "переменная" используемая внутри объектов. Сточки зрения компилятора она организованна совсем по другому. В Поле одного объекта может писать или читать другой объект (если ему разрешать читать или писать в поле принадлежащее другому объекту). Поле гораздо более мощная конструкция, при создании поля программист может не только указать Тип хранящегося в нём значения, но и разрешить или запретить другим методом других объектов читать содержащееся в этом Поле значения.
А если при использования Поля другой объект попытается записать в Поле "переменную правильного типа, но неправильного значения" или у объекта необходимо изменять несколько Полей синхронно или по определённому алгоритму ?
Для этого к выбранному Полю можно добавить 2 специальных метода со стандартными именами Прочитать и Установить. При попытке прочитать значение этого поля или записать в него какое либо значение автоматически будут вырываться соответствующие методы Прочитать и Установить - внутри которых будут прописаны соответствующие алгоритмы по проверке значения присваиваемых переменных и/или синхронному изменению значений нескольких Полей этого объекта. Чтобы отличить такое "Поле" от обычных его называют - Свойство.
Конструктор Класса - это просто специальная процедура которая присваивает значения одному или нескольким Полям объекта при его создании по прописанным в неё алгоритмам.