Объектно-ориентированное программирование на языке Перфолента.NET
Содержание
Синтаксис языка Перфолента
2.1 Переменные. Объявление переменных, инициализация и их использование
2.2 Типы данных в языке Перфолента
2.3 Массивы. Создание массивов, заполнение данными, обращения к элементам и другие операции с массивами
2.4 Структура программы на языке Перфолента.Net
2.7 Оператор условного выбора блока кода Выбор Для
2.8 Функции и процедуры в языке Перфолента
2.9 Оператор Попытка. Структурная обработка ошибок
2.10 Работа с файлами
2.11 Директивы препроцессора. Выполнение действий перед компиляцией
Практика программирования на языке Перфолента
3.1. Многозадачность и многопоточность в языке Перфолента.Net
Упрощенное описание ООП (Не править в процессе написания)
Для понимания темы Вам необходимо понимать что такое Функция и Процедура. Как их использовать.
Определение Класса
Класс - это составной тип, который, для удобства программиста, логические объединяет вместе переменный, процедуры и функции которые эти переменные используют.
Класс состоит из:
- Переменные - чтобы отличать их от обычных переменных в классах они называются Свойства (объекта)
- Функции и Процедуры использующие эти переменные - чтобы отличать их от обычных функций и процедур в классах они называются Методы
Объявление и создание Класса
Рассмотрим определение простейшего класса:
Класс Животное //тут можно определить свойства и методы работы с классом КонецКласса
Мы можем создавать экземпляры объектов класса Животное оператором Новый. И несмотря на то, что у этого объекта нет ни каких свойств и методов, ему можно придумать полезное применение. Например, он может быть родителем классов Кошка и Собака.
На заметку: Если для класса не указан родитель, то его родителем является класс Объект, который является корневым родителем всей иерархии классов, используемых в .Net.
Наследование (надо ввести понятие ниже)
Создадим классы Кошка и Собака, указав, что родителем для них является Класс Животное:
Класс Кошка Родитель Животное //тут можно определить свойства и методы работы с классом КонецКласса
Класс Собака Родитель Животное //тут можно определить свойства и методы работы с классом КонецКласса
Теперь покажем, как можно эти классы использовать:
МойКот = Новый Кот // создадим объект МойКот сложного типа - Кот ПриветЖивотное(МойКот) // передадим объект МойКот
МояСобака = Новый Собака ПриветЖивотное(МояСобака)
//где-то ниже определим процедуру Процедура ПриветЖивотное(МоёЖивотное тип Животное) // процедура принимает объект типа Животное Выбор Для МоёЖивотное // оператор выбора Выбор Для Когда ЭтоТип Кот ВыводСтроки "Привет кот!" Когда ЭтоТип Собака ВыводСтроки "Привет собака!" Иначе ВыводСтроки "Привет не известное животное!" КонецВыбора КонецПроцедуры
Как видно из этого примера, процедура ПриветЖивотное() может приветствовать животное любого типа, даже такого, который на момент написания программы еще не существовал. Главное, чтобы не известное животное было потомком класса Животное. А вот классы Кот и Собака этой процедуре известны и приветствие выводится вполне конкретное.
Таким образом, мы извлекли пользу от использования классов не имеющих ни каких свойств и методов (кроме методов родительского типа Объект). Нам пригодилась сама иерархия, согласно которой мы классифицировали объекты.
Умнику на заметку: Отметьте для себя связь терминов Класс и Классификация. Вы должны выстраивать иерархию классов не как попало, а по определенным критериям, что бы можно было сказать, что вы их классифицировали.