Объектно-ориентированное программирование на языке Перфолента.NET — различия между версиями

Материал из ТХАБ.РФ
Перейти к: навигация, поиск
м (Определение Класса)
м (Определение Класса)
Строка 9: Строка 9:
 
             //тут можно определить свойства и методы работы с классом
 
             //тут можно определить свойства и методы работы с классом
 
  КонецКласса
 
  КонецКласса
 
  
 
Мы можем создавать экземпляры объектов класса Животное оператором '''Новый'''. И несмотря на то, что у этого объекта нет ни каких свойств и методов, ему можно придумать полезное применение. Например, он может быть родителем классов Кошка и Собака.
 
Мы можем создавать экземпляры объектов класса Животное оператором '''Новый'''. И несмотря на то, что у этого объекта нет ни каких свойств и методов, ему можно придумать полезное применение. Например, он может быть родителем классов Кошка и Собака.
Строка 27: Строка 26:
 
Теперь покажем, как можно эти классы использовать:
 
Теперь покажем, как можно эти классы использовать:
  
МойКот = Новый Кот
 
ПриветЖивотное(МойКот)
 
  
МояСобака = Новый Собака
+
МойКот = '''Новый''' Кот // создадим объект МойКот сложного типа - Кот
ПриветЖивотное(МояСобака)
+
ПриветЖивотное(МойКот) // передадим объект МойКот
 +
 
 +
МояСобака = '''Новый''' Собака
 +
ПриветЖивотное(МояСобака)
  
//где-то ниже определим процедуру
+
//где-то ниже определим процедуру
Процедура ПриветЖивотное(МоёЖивотное тип Животное)
+
'''Процедура''' ПриветЖивотное(МоёЖивотное '''тип''' Животное) // процедура принимает объект типа Животное
         Выбор Для МоёЖивотное
+
         '''Выбор Для''' МоёЖивотное // оператор выбора Выбор Для
         Когда ЭтоТип Кот
+
         '''Когда''' ЭтоТип Кот
                 ВыводСтроки "Привет кот!"
+
                 '''ВыводСтроки''' "Привет кот!"
         Когда ЭтоТип Собака
+
         '''Когда''' '''ЭтоТип''' Собака
                 ВыводСтроки "Привет собака!"
+
                 '''ВыводСтроки''' "Привет собака!"
         Иначе
+
         '''Иначе'''
                 ВыводСтроки "Привет не известное животное!"
+
                 '''ВыводСтроки''' "Привет не известное животное!"
         КонецВыбора
+
         '''КонецВыбора'''
КонецПроцедуры
+
'''КонецПроцедуры'''
  
 
Как видно из этого примера, процедура ПриветЖивотное() может приветствовать животное любого типа, даже такого, который на момент написания программы еще не существовал. Главное, чтобы не известное животное было потомком класса Животное. А вот классы Кот и Собака этой процедуре известны и приветствие выводится вполне конкретное.
 
Как видно из этого примера, процедура ПриветЖивотное() может приветствовать животное любого типа, даже такого, который на момент написания программы еще не существовал. Главное, чтобы не известное животное было потомком класса Животное. А вот классы Кот и Собака этой процедуре известны и приветствие выводится вполне конкретное.

Версия 21:02, 12 сентября 2020

'Показать Содержание Описание языка Перфолента.NET'

Синтаксис языка Перфолента

2.1 Переменные. Объявление переменных, инициализация и их использование

2.2 Типы данных в языке Перфолента

2.3 Массивы. Создание массивов, заполнение данными, обращения к элементам и другие операции с массивами

2.4 Структура программы на языке Перфолента.Net

2.5 Условный оператор Если

2.6 Циклы в языке Перфолента

2.7 Оператор условного выбора блока кода Выбор Для

2.8 Функции и процедуры в языке Перфолента

2.9 Оператор Попытка. Структурная обработка ошибок

2.10 Работа с файлами

2.11 Директивы препроцессора. Выполнение действий перед компиляцией

Практика программирования на языке Перфолента

3.1. Многозадачность и многопоточность в языке Перфолента.Net


Упрощенное описание ООП (Не править в процессе написания)

Для понимания темы Вам необходимо понимать что такое Функция и Процедура. Как их использовать.

Определение Класса

Рассмотрим определение простейшего класса:

Класс Животное
           //тут можно определить свойства и методы работы с классом
КонецКласса

Мы можем создавать экземпляры объектов класса Животное оператором Новый. И несмотря на то, что у этого объекта нет ни каких свойств и методов, ему можно придумать полезное применение. Например, он может быть родителем классов Кошка и Собака.

На заметку: Если для класса не указан родитель, то его родителем является класс Объект, который является корневым родителем всей иерархии классов, используемых в .Net.

Создадим классы Кошка и Собака, указав, что родителем для них является Класс Животное:

Класс Кошка Родитель Животное
           //тут можно определить свойства и методы работы с классом
КонецКласса
Класс Собака Родитель Животное
           //тут можно определить свойства и методы работы с классом
КонецКласса

Теперь покажем, как можно эти классы использовать:


МойКот = Новый Кот // создадим объект МойКот сложного типа - Кот
ПриветЖивотное(МойКот) // передадим объект МойКот 
МояСобака = Новый Собака
ПриветЖивотное(МояСобака)
//где-то ниже определим процедуру
Процедура ПриветЖивотное(МоёЖивотное тип Животное) // процедура принимает объект типа Животное
       Выбор Для МоёЖивотное // оператор выбора Выбор Для
       Когда ЭтоТип Кот
               ВыводСтроки "Привет кот!"
       Когда ЭтоТип Собака
               ВыводСтроки "Привет собака!"
       Иначе
               ВыводСтроки "Привет не известное животное!"
       КонецВыбора
КонецПроцедуры

Как видно из этого примера, процедура ПриветЖивотное() может приветствовать животное любого типа, даже такого, который на момент написания программы еще не существовал. Главное, чтобы не известное животное было потомком класса Животное. А вот классы Кот и Собака этой процедуре известны и приветствие выводится вполне конкретное.

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

Умнику на заметку: Отметьте для себя связь терминов Класс и Классификация. Вы должны выстраивать иерархию классов не как попало, а по определенным критериям, что бы можно было сказать, что вы их классифицировали.

Ссылки