Объектно-ориентированная парадигма программирования
Сущность объекта в программировании, определение понятия "парадигма". Объектно-ориентированная парадигма: суть, средства реализации. Объектно-ориентированное программирование, основные принципы объектно-ориентированного подхода при анализе предприятия.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 24.06.2015 |
Размер файла | 43,2 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru
Введение
Весь мир состоит из объектов. Объект в программировании -- некоторая сущность в виртуальном пространстве, обладающая определённым состоянием и поведением, имеющая заданные значения свойств и операций над ними методов.
Парадигма это (от греч. «пример, модель, образец») -- универсальный метод принятия эволюционных решений, гносеологическая модель эволюционной деятельности. Парадигма может быть: абсолютной, научной, государственной, личной , общепринятой
К общепринятым парадигмам относятся образцовый метод принятия решений, модели мира или его частей (отраслей, областей знаний, сфер жизни и деятельности), принимаемые большим количеством людей. Примеры: благотворная парадигма конституционного курса Российской Федерации образца 1993 года, общая парадигма программирования.
Личная парадигма -- это сущностный метод принятия решений, ментальная модель конкретного человека. Неверно бытующее утверждение, что «естественным образом она обязательно будет отличаться от общепринятой, поскольку учитывает личный опыт субъекта, а также не является полной -- никто не может знать все обо всем». Дело в том, что общепринятая парадигма определяет не «знание всего», а только сущностное знание, необходимое для обеспечения эволюционной деятельности личности в социальной действительности и обретения разума.
Термин «парадигма» происходит от греческого «paradeigma» -- пример, образец и означает совокупность явных и неявных (и часто не осознаваемых) предпосылок, определяющих научные исследования и признанных на данном этапе развития науки. С конца 60-х годов 20-го века этот термин в философии науки и социологии науки используется для обозначения исходной концептуальной схемы, модели постановки проблем и их решения, методов исследования, господствующих в течение определённого исторического периода в научном сообществе. Первоначально слово использовалось в грамматике. Так, например, ЭСБЕ определяет этот термин следующим образом: «в грамматике слово, служащее образцом склонения или спряжения; в риторике -- пример, взятый из истории и приведенный с целью сравнения».
Словарь Merriam-Webster 1900 года дает аналогичное определение его использования только в контексте грамматики или как терминам для иллюстрирующей притчи или басни.
В лингвистике Фердинанд Соссюр использовал термин парадигма для обозначения класса элементов, имеющих схожие свойства.
Смена парадигм представляет собой научную революцию и эволюционный переход. К примеру -- парадигма социального поведения -- это парадигма, заключающаяся в понимании поведения человека в виде ответной реакции на внешние раздражители. При этом внимание обращается на степень вознаграждения ожидаемого и наказания нежелательного социального поведения.
1. Объектно-ориентированная парадигма
Это понятие, в современном смысле слова, введено американским физиком и историком науки Томасом Куном, который выделял различные этапы в развитии научной дисциплины:
· допарадигмальный (предшествующий установлению парадигмы);
· господства парадигмы (т. н. «нормальная наука»);
· кризис нормальной науки;
· научной революции, заключающейся в смене парадигмы, переходе от одной к другой.
Согласно Куну, парадигма -- это то, что объединяет членов научного сообщества и, наоборот, научное сообщество состоит из людей, признающих определенную парадигму. Как правило, парадигма фиксируется в учебниках, трудах ученых и на многие годы определяет круг проблем и методов их решения в той или иной области науки, научной школе. К парадигме можно отнести, например, взгляды Аристотеля, Ньютоновскую механику и тому подобные вещи. программирование парадигма объект ориентированный
«Под парадигмами я подразумеваю признанные всеми научные достижения, которые в течение определенного времени дают научному сообществу модель постановки проблем и их решений»
«Вводя этот термин, я имел в виду, что некоторые общепринятые примеры фактической практики научных исследований -- примеры, которые включают закон, теорию, их практическое применение и необходимое оборудование, -- все в совокупности дают нам модели, из которых возникают конкретные традиции научного исследования»
1.1 Средства реализации парадигмы
Объектно-ориентированное программирование - парадигма программирования, в которой основными концепциями являются понятия объектов и классов.
Класс -- это тип, описывающий устройство объектов. Понятие «класс» подразумевает некоторое поведение и способ представления. Понятие «объект» подразумевает нечто, что обладает определённым поведением и способом представления. Говорят, что объект -- это экземпляр класса. Класс можно сравнить с чертежом, согласно которому создаются объекты. Обычно классы разрабатывают таким образом, чтобы их объекты соответствовали объектам предметной области.
Класс является описываемой на языке терминологии (пространства имён) исходного кода моделью ещё не существующей сущности, т.н. объекта.
Объект -- сущность в адресном пространстве вычислительной системы, появляющаяся при создании экземпляра класса (например, после запуска результатов компиляции (и линковки) исходного кода на выполнение).
В настоящее время количество прикладных языков программирования, реализующих объектно-ориентированную парадигму, является наибольшим по отношению к другим парадигмам. В области системного программирования до сих пор применяется парадигма процедурного программирования, и общепринятым языком программирования является язык C. Хотя при взаимодействии системного и прикладного уровней операционных систем заметное влияние стали оказывать языки объектно-ориентированного программирования. Например, одной из наиболее распространенных библиотек мультиплатформенного программирования является объектно-ориентированная библиотека Qt, написанная на языке C++.
Структура данных «класс», представляющая собой объектный тип данных, внешне похожа на типы данных процедурно-ориентированных языков, такие как структура в языке Си или запись в Паскале или QuickBasic. При этом элементы такой структуры (члены класса) могут сами быть не только данными, но и методами (то есть процедурами или функциями). Такое объединение предприятий называется инкапсуляцией.
Наличие инкапсуляции достаточно для объектности языка программирования, но ещё не означает его объектной ориентированности -- для этого требуется наличие наследования.
Но даже наличие инкапсуляции и наследования не делает язык программирования в полной мере объектным с точки зрения ООП. Основные преимущества ООП проявляются только в том случае, когда в языке программирования реализован полиморфизм.
Язык Self, соблюдая многие исходные положения объектно-ориентированного программирования, ввёл альтернативное классам понятие прототипа, положив начало прототипному программированию, считающемуся подвидом объектного.
Абстракция даннях. Объекты представляют собою упрощенное, идеализированное описание реальных сущностей предметной области. Если соответствующие модели адекватны решаемой задаче, то работать с ними оказывается намного удобнее, чем с низкоуровневым описанием всех возможных свойств и реакций объекта.
Инкапсуляция -- это принцип, согласно которому любой класс должен рассматриваться как чёрный ящик -- пользователь класса должен видеть и использовать только интерфейсную часть класса (т. е. список декларируемых свойств и методов класса) и не вникать в его внутреннюю реализацию. Поэтому данные принято инкапсулировать в классе таким образом, чтобы доступ к ним по чтению или записи осуществлялся не напрямую, а с помощью методов. Принцип инкапсуляции (теоретически) позволяет минимизировать число связей между классами и, соответственно, упростить независимую реализацию и модификацию классов.
Сокрытие данных -- неотделимая часть ООП, управляющая областями видимости. Является логическим продолжением инкапсуляции. Целью сокрытия является невозможность для пользователя узнать или испортить внутреннее состояние объекта.
Наследование - возможность порождать один класс от другого с сохранением всех свойств и методов класса-предка (прародителя, иногда его называют суперклассом) и добавляя, при необходимости, новые свойства и методы. Набор классов, связанных отношением наследования, называют иерархией. Наследование призвано отобразить такое свойство реального мира, как иерархичность.
Полиморфизм - явление, при котором функции (методу) с одним и тем же именем соответствует разный программный код (полиморфный код) в зависимости от того, объект какого класса используется при вызове данного метода. Полиморфизм обеспечивается тем, что в классе-потомке изменяют реализацию метода класса-предка с обязательным сохранением сигнатуры метода. Это обеспечивает сохранение неизменным интерфейса класса-предка и позволяет осуществить связывание имени метода в коде с разными классами -- из объекта какого класса осуществляется вызов, из того класса и берётся метод с данным именем. Такой механизм называется динамическим (или поздним) связыванием -- в отличие от статического (раннего) связывания, осуществляемого на этапе компиляции.
По мнению Алана Кея, объектно-ориентированный подход заключается в следующем наборе основных принципов:
1. Всё является объектом.
2. Вычисления осуществляются путём взаимодействия (обмена данными) между объектами, при котором один объект требует, чтобы другой объект выполнил некоторое действие. Объекты взаимодействуют, посылая и получая сообщения. Сообщение -- это запрос на выполнение действия, дополненный набором аргументов, которые могут понадобиться при выполнении действия.
3. Каждый объект имеет независимую память, которая состоит из других объектов.
4. Каждый объект является представителем класса, который выражает общие свойства объектов (таких, как целые числа или списки).
5. В классе задаётся поведение (функциональность) объекта. Тем самым все объекты, которые являются экземплярами одного класса, могут выполнять одни и те же действия.
6. Классы организованы в единую древовидную структуру с общим корнем, называемую иерархией наследования. Память и поведение, связанное с экземплярами определённого класса, автоматически доступны любому классу, расположенному ниже в иерархическом дереве.
Таким образом, программа представляет собой набор объектов, имеющих состояние и поведение. Объекты взаимодействуют посредством сообщений. Естественным образом выстраивается иерархия объектов: программа в целом -- это объект, для выполнения своих функций она обращается к входящим в неё объектам, которые, в свою очередь, выполняют запрошенное путём обращения к другим объектам программы.
2. Объектно-ориентированный анализ предприятия
Объектно-ориентированный анализ: это методология, при которой требования к системе воспринимаются с точки зрения классов и объектов, выявленных в предметной области.
Анализ предприятия - кабинет врача частника:
Объект: Кабинет
Свойства объекта: адрес, расписание, доктор, клиент.
Методы: уплата налога, приём клиента.
Алгоритм метода (приём клиента): пациент, записавшись у администратора, приходит на приём к доктору в кабинет.
Объект: Доктор
Свойства объекта: специальность, ФИО, лицензия, оборудование.
Метод: установление диагноза, осмотр больного, лечения, наблюдение.
Алгоритм метода: Врач после предварительного осмотра устанавливает диагноз и назначает лечение. От чего зависят свойства 4 объекта (клиент).
Объект: Администратор.
Свойства объекта: запись клиента, учёт клиентов.
Метод: приём платежей.
Алгоритм метода: Клиент оплачивает оказанные ему услуги доктором.
Объект: Клиент.
Свойства объекта: пол, возраст, группа крови, здоров, больной.
Методы: оплата, оценка результата, регистрация.
Алгоритм метода (оценка результата): пройдя курс лечения, пациент оставляет комментарий с оценкой качества предоставленных ему услуг.
Проект предприятия
Событие: кабинет делиться на два
Объект - 1 кабинет
Свойства объекта: адрес, расписание, доктор, клиент.
Методы: уплата налога, приём клиента
Алгоритм метода (уплата налога): кабинет для своего функционирования потребляет электрическую энергию, использует канализационную систему. В конце каждого месяца ЖКХ присылает платёжный документ по жилищно-коммунальным услугам.
Объект - 2 кабинет.
Свойства объекта: адрес, расписание, адрес сайта, расчётный счёт.
Методы: лечение, отчёт, уплата налога.
Алгоритм метода (отчёт): в кабинете видёться учёт обследованных пациентов, в случае передачи больного другой медицинской организации,из кабинета в месте с больным передают отчёт о проделанном лечении ,и результатах обследования.
Объект - Доктор
Свойства объекта: специальность, ФИО, лицензия, оборудование, связь.
Метод: установление диагноза, осмотр больного.
Алгоритм метода (осмотр больного): доктор делает опрос больного, выслушивая, что его беспокоит. Производит визуальный осмотр, и отправляет, если нужно на сдачу анализов.
Объект -2 доктор
Свойства объекта: специальность, №ИНН, стаж работы.
Методы: лечение больного, наблюдение.
Алгоритм метода (лечение больного): больной приходит с характеристикой и диагнозом от 1доктора. Изучив диагноз, 2 доктор назначает лечение.
Объект - Администратор.
Свойства объекта: запись клиента, учёт клиентов.
Метод: приём платежей.
Алгоритм метода: Клиент оплачивает оказанные ему услуги доктором.
Объект - Клиент.
Свойства объекта: пол, возраст, группа крови.
Методы: оплата, оценка результата, регистрация.
Алгоритм метода (регистрация): для того чтобы придти на приём клиент сначала звонит Администратору поликлиники и записывается .
Анализ предприятия - киоск:
Объект: Земля
Свойства: площадь, повышение налога, переход в собственность.
Методы: регистрация, строительство.
Алгоритм метода (регистрация): для того что бы земля перешла в собственность нужно с документами на землю обратиться в регистрационную палату.
Объект: Киоск
Свойства: Адрес, график работы, продавец, площадь , поставщик.
Методы: торговля, уплата налога.
Алгоритм метода (торговля): покупатель, придя в киоск, выбрав нужный товар, покупает его у продавца, заплатив деньги.
Объект: Продавец
Свойства объекта: пол, возраст, образование, ФИО.
Методы: торговля, учёт продаж.
Алгоритм метода (учёт продаж): продавец после продажи заносит наименование проданного товара в базу данных.
Объект: Поставщик.
Свойства объекта: лицензия, адрес сайта, график работы, запись клиентов.
Методы: доставка товара, поиск клиентов.
Алгоритм метода (доставка товара): поставщик, приняв заказ от клиента, едет на базу за товаром, закупив заказанный товар он доставляет его заказчику (Киоску).
Проект предприятия
Событие: Расширение
Объект - Земля
Свойства: площадь, повышение налога, переход в собственность.
Методы: регистрация, строительство.
Объект - Киоск
Свойства: адрес, график работы, продавец, площадь , поставщик.
Методы: торговля, уплата налога.
Объект - Продавец
Свойства объекта: пол, возраст, образование, ФИО.
Методы: торговля, учёт продаж,
Объект-Администратор
Свойства объекта: ФИО, образование, стаж работы, связь.
Методы: поиск поставщиков, работа с интернет заказами.
Объект-Поставщик.
Свойства объекта: лицензия, адрес сайта, график работы, запись клиентов.
Методы: доставка товара, поиск клиентов.
2.1 Объектно-ориентированные средства программирования
Объектно-ориентированное программирование возникло в результате развития идеологии процедурного программирования, где данные и подпрограммы (процедуры, функции) их обработки формально не связаны. Для дальнейшего развития объектно-ориентированного программирования часто большое значение имеют понятия события (так называемое событийно программирование) и компонента (компонентное программирование, КОП).
Взаимодействие объектов происходит посредством сообщений. Результатом дальнейшего развития ООП, по-видимому, будет агентно-ориентированное программирование, где агенты -- независимые части кода на уровне выполнения. Взаимодействие агентов происходит посредством изменения среды, в которой они находятся.
Языковые конструкции, конструктивно не относящиеся непосредственно к объектам, но сопутствующие им для их безопасной) и эффективной работы, инкапсулируются от них в аспекты. Субьектно-ориентированное программирование расширяет понятие объекта посредством обеспечения более унифицированного и независимого взаимодействия объектов. Может являться переходной стадией между ООП и агентным программированием в части самостоятельного их взаимодействия.
Первым языком программирования, в котором были предложены принципы объектной ориентированности, была Симула. В момент его появления в 1967 году в нём были предложены революционные идеи: объекты, классы, виртуальные методы и др., однако это всё не было воспринято современниками как нечто грандиозное. Тем не менее, большинство концепций были развиты Аланом Кэем и Дэном Ингаллсом в языке Smalltalk. Именно он стал первым широко распространённым объектно-ориентированным языком программирования.
Basic
Язык программирования Basic был создан в 1964 году двумя профессорами из Darmouth College- Джоном Кенеми и Томасом Куртцом для обучения студентов навыкам программирования. Язык получился настолько простым и понятным, что через некоторое время его начали применять и в других учебных заведениях. В 1975 году, с приходом первых микрокомпьютеров, эстафету Basic приняли Билл Гейтс и Пол Аллен, основатели Microsoft. Именно они создали новую версию Basic для первых компьютеров "Альтаир" (MITS Altairs), способную работать в 4КБ оперативной памяти. Со временем именно эта версия и превратилась в один из самых популярных языков программирования в мире. На пути к вершине славы у Basic было множество трудностей, которые он всегда с честью преодолевал, и когда появились первые персональные компьютеры IBM PC, именно он стал стандартом в программировании, но уже в виде GW-Basic. Потом был Turbo Basic, QuickBasic, Basic PDS, но всегда при разработке новой версии языка сохранялась совместимость с прежними версиями и программа, написанная для практически первого Basic, вполне (с незначительными изменениями) могла бы работать и в последующих версиях этого языка. Но наступили новые времена, и в начале 90-х появляется операционная система Microsoft Windows с новым графическим интерфейсом пользователя (GUI). Жизнь программистов превратилась в ад. Чтобы создать простую программу, приходилось писать несколько страниц кода: создавать меню и окна, менять шрифты, очищать память, "рисовать" кнопки и т.д. Однако преимущества нового интерфейса были настолько неоспоримы, что уже третья версия этой операционной системы стала фактическим стандартом для персонального компьютера. В это время в недрах Microsoft велось несколько параллельных проектов по созданию нового языка программирования для Windows. И в 1991 году под лозунгом "теперь и начинающие программисты могут легко создавать приложения для Windows" появилась первая версия нового инструментального средства Microsoft Visual Basic. В тот момент Microsoft достаточно скромно оценивала возможности этой системы, ориентируя ее, прежде всего, на категорию начинающих и непрофессиональных программистов. Основной задачей тогда было выпустить на рынок простой и удобный инструмент разработки в тогда еще довольно новой среде Windows, программирование в которой представляло проблему и для опытных специалистов. Система программирования, созданная разработчиками Visual Basic, позволяла "отстраниться" от сложнейшей внутренней структуры Windows и создавать программы из "кубиков", как в детском конструкторе. Меню, окна, списки, кнопки, поля ввода текста и другие элементы интерфейса Windows добавлялись в программу с помощью простейших операций drag&drop. Свою первую программу VB-программисты создавали уже через несколько минут после начала изучения этого языка! Более того, Visual Basic позволял разработчикам создавать новые объекты-"кубики", которые также могли использоваться в программах наравне со стандартными. И хотя многие С-программисты тихо посмеивались над попытками Microsoft сделать простой и понятный инструмент разработки Windows-программ, Visual Basic начал свое победное шествие по миру, и ничто не могло остановить этот процесс. Последние барьеры упали в 1994 году с выпуском Visual Basic for Applications. Именно в это время, после включения VBA в состав Microsoft Office, Basic начинает превращаться в один из основных стандартов программирования для Windows.
Basic visual
DIM
Объявляет и размещает в памяти одну или несколько переменных.
[ <attributelist> ] [ accessmodifier ] [[ Shared ] [ Shadows ] | [ Static ]] [ ReadOnly ]
Dim [ WithEvents ] variablelist
SET
Объявляет свойство Set, которое используется для присваивания свойству значения.
[ <attributelist> ] [ accessmodifier ] Set (ByVal value [ As datatype ])
[ statements ]
End Set
Каждое свойство должно иметь процедуру свойства Set, если только свойство не помечено как RedOnly. Процедура Set используется для присвоения значения свойства.
Visual Basic автоматически вызывает процедуру свойства Set, когда оператор присваивания предоставляет значение, хранимое в свойстве.
Основная часть объявления свойства может содержать только процедуры Get и Set свойства между оператором оператор Property и End Property. Оно не может хранить что-либо кроме этих процедур. Это значение следует хранить за пределами свойства, так как если хранить его внутри любой из процедур свойства, другая процедура свойства не сможет получить к нему доступ. Обычным подходом является хранение значения в переменной Private, объявленной на том же уровне, что и свойство. Процедуру Set необходимо определить внутри свойства, к которому оно применимо.
Операторы VBA
Язык VBA был разработан таким образом, чтобы его можно было достаточно легко и быстро изучить, а затем ежедневно использовать. Язык VBA полезен как профессиональным программистам, так и простым пользователям, для автоматизации повседневной рутинной работы. Какой бы не была Ваша цель: упростить повседневную работу или повысить производительность труда, безусловно, язык VBA лучше всего подходит для этих целей, поскольку он разработан, специально для работы с приложениями пакета Microsoft Office.
Знание операторов является необходимой основой для изучения любой темы по VBA, т.е. прежде чем браться за изучение языка, стоит достаточное время уделить операторам и функциям.
Операторы VBA:
· AppActivate title, wait - Активизирует открытое приложение по заданному аргументом title заголовку или идентификатору задачи
· ChDir path - Заменяет текущую папку папкой, указанной аргументом path
· Close filenumberlist - Изменяет текущий диск на диск, указанный аргументом drive
· Date - Изменяет системную дату на дату, указанную аргументом date
· Declare name - Объявляет процедуру из динамически присоединяемой библиотеки (DLL)
· DefBool letterrange - Оператор уровня модуля, устанавливающий тип Boolean типом данных по умолчанию для всех переменных, которые начинаются с букв, указанных аргументом letterrange (например, DefBool A-F)
· DefByte letterrange - Задает тип Byte как тип данных по умолчанию для всех переменных, которые начинаются с букв, указанных аргументом letterrange
· DefCur letterrange - Задает тип Currency как тип данных по умолчанию для всех переменных, которые начинаются с букв, указанных аргументом letterrange
· DefDate letterrange - Задает тип Date как тип данных по умолчанию для всех переменных, которые начинаются с букв, указанных аргументом letterrange
· DefDbl letterrange - Задает тип Double как тип данных по умолчанию для всех переменных, которые начинаются с букв, указанных аргументом letterrange
· DefInt letterrange - Задает тип Integer как тип данных по умолчанию для всех переменных, которые начинаются с букв, указанных аргументом letterrange
· DefLng letterrange - Задает тип Long как тип данных по умолчанию для всех переменных, которые начинаются с букв, указанных аргументом letterrange
· DefObj letterrange - Задает тип Object как тип данных по умолчанию для всех переменных, которые начинаются с букв, указанных аргументом letterrange
· DefSng letterrange - Задает тип Single как тип данных по умолчанию для всех переменных, которые начинаются с букв, указанных аргументом letterrange
· DefStr letterrange - Задает тип String как тип данных по умолчанию для всех переменных, которые начинаются с букв, указанных аргументом letterrange
· DefVar letterrange - Задает тип Variant как тип данных по умолчанию для всех переменных, которые начинаются с букв, указанных аргументом letterrange
· DeleteStting appname, section, key - Удаляет раздел section или ключ key из реестра Windows
· Dim varname - Объявляет переменную с именем varname
· Do:Loop - Выполняет цикл по нескольким операторам до тех пор, пока логическое условие равно True
· End Keyword - Завершает процедуру, функцию или управляющую структуру
· Enum name - Оператор уровня модуля, который объявляет переменную перечислимого типа
· Erase arraylist - Очищает память от динамически выделенного массива или выполняет повторную инициализацию массива с фиксированными размерами
· Error errornumber - Имитирует ошибку, присваивая объекту Err значение errornumber
· Event procedurename(arglist) - Оператор может присутствовать только в модуле класса. Он объявляет событие, определенное пользователем
· Exit keyword - Выход из процедуры, функции или управляющей структуры
· FileCopy source, destination - Копирует файл source в папку destination (при этом можно изменить имя исходного файла)
· For Each:Next - Цикл по каждому члену коллекции
· For:Next - Цикл по нескольким операторам, выполняемый до тем пор, пока счетчик цикла не достигнет заданного значения
· Function - Объявляет пользовательскую процедуру-функцию
· Get #filenumber, varname - Производит чтение в переменную из файла ввода-вывода, открытого оператором Open
· GoSub:Return - Осуществляет вход в подпрограмму, описанную в процедуре, и выход из нее. (Использование этого оператора не рекомендуется, поскольку создание отдельной процедуры позволит сделать код более простым для понимания)
· GoTo line - Передает управление на строку кода, на которую указывает метка line
· If:Then:Else - Выполняет один из двух фрагментов кода на основе результата логической проверки
· Imlements InterfaceName, Class - Определяет название интерфейса или класса, который будет реализован в модуле класса
· Input #filenumber, varlist - Производит чтение из файла ввода-вывода в переменные
· Kill pathname - Удаляет файл pathname с диска
· Let varname = expression - Устанавливает переменную varname равной выражению expression. Ключевое слово Let необязательно и практически никогда не используется
· Line Input #filenumber, var - Производит чтение одной строки из файла ввода-вывода и сохраняет ее в строковой переменной
· Load - Загружает форму в память, но не выводит ее на экран
· Lock #filenumber, recordrange - Управляет доступом к файлу ввода-вывода
· LSet stringvar = string - Размещает строку, начиная с крайнего слева символа, в переменной типа String. При этом размер переменной не изменяется
· LSet var1 = var2 - Копирует переменную одного пользовательского типа в переменную другого, но совместимого, пользовательского типа
· Mid - Заменяет заданное количество символов в строковой переменной символами из другой строки
· MidB - Побайтно заменяет символы в строковой переменной символами из другой строки
· MkDir path - Создает папку с именем path
· Name oldpathname as newpathname - Изменяет имя файла или папки
· On Error - Задает способ обработки ошибок
· On:GoSub, On:GoTo - Передает управление заданной строке на основе результата выражения
· Open pathname, : - Открывает файл для ввода-вывода
· Option Base 0|1 - Задает (на уровне модуля) для массивов установленную по умолчанию нижнюю границу (номер первого элемента)
· Option Compare Text|Binary - Определяет (на уровне модуля) установленный по умолчанию режим сравнения строк
· Option Explicit - Принуждает программиста к явному объявлению переменных. Введите этот оператор на уровне модуля
· Option Private - Указывает, что модуль закрыт, и к нему нельзя обратиться из процедур, расположенных в других модулях. Введите оператор на уровне модуля
· Print #filenumber - Производит запись в файл ввода-вывода
· Private varname - Объявляет, что переменная varname будет закрытой, и ею можно будет пользоваться только в модуле, в котором она объявлена. Введите оператор на уровне модуля
· Property Get - Объявляет процедуру свойства, которая будет принимать значения этого свойства
· Property Let - Присваивает значение свойству в процедуре свойства
· Property Set - Устанавливает ссылку на объект в процедуре свойства
· Public varname - Открывает доступ к переменной varname для всех процедур, содержащихся в модуле
· Put #filenumber, varname - Записывает данные из переменной varname а файл ввода-вывода
· RaiseEvent eventname, arguments - Вызывает событие с именем eventname
· Randomize number - Инициализирует генератор случайных чисел. Пропустить аргумент number, чтобы каждый раз инициализировать его разными начальными числами
· ReDim varname - Повторно выделяет память для динамического массива
· Rem comment - Указывает VBA, что следующий за оператором текст является комментарием. Вместо этого оператора чаще используется символ апострофа
· Reset - Закрывает все файлы ввода-вывода, которые были ранее открыты оператором Open
· Resume - После возникновения ошибки возобновляет выполнение программы со строки, в которой возникла ошибка
· RmDir path - Удаляет папку
· RSet stringvar = string - Записывает строку в строковую переменную, выравнивая символы по правому краю
· SaveSetiing appname, : - Создает или сохраняет установки в реестре Windows
· Seek #filenumber, position - Устанавливает текущую позицию в файле ввода-вывода
· Select Case - Выполняет группу операторов на основе значения выражения
· SendKeys string, wait - Передает в активное приложение нажатия клавиш, заданные строкой string так, как будто они были введены с клавиатуры
· Set objectvar = object - Присваивает объект object объектной переменной с именем objectvar
· SetAttr pathname, attr - Задает атрибуты доступа, определенные аргументом attr (например, vbReadOnly) для файла, заданного аргументом pathname
· Static varname - Объявляет (на уровне модуля), что переменная varname будет сохранять свои значения все время, пока будет выполняться код модуля
· Stop - Переводит VBA в режим паузы
· Sub - Объявляет процедуру
· Time = time - Устанавливает системное время равным аргументу time
· Type varname - Объявляет пользовательский тип данных. (Используется только на уровне модуля)
· Unload - Удаляет форму из памяти
· Unlock #filenumber, recordrange - Удаляет атрибуты доступа для файла ввода-вывода
· While:Wend - Выполняет цикл по группе операторов до тех пор, пока логическое условие истинно
· Width #filenumber, width - Задает ширину строки для файла ввода-вывода
· With:End With - Выполняет группу операторов для заданного объекта
· Write #filenumber - Производит запись данных в файл ввода-вывода
Язык программирования Pascal
История языка Pascal
Язык программирования Паскаль (назван в честь выдающегося французского математика и философа Блеза Паскаля (1623 - 1662)), разработан в 1967 - 1971г. Никлаусом Виртом, профессором, директором института информатики Швейцарской высшей политехнической школы. Стандарт языка был разработан им в 1974гсовместно с Кетлин Йенсен. Язык Паскаль, созданный первоначально для обучения программированию как систематической дисциплине, скоро стал широко использован для разработки программных средств в профессиональном программировании. В настоящее время действуют три стандарта языка. Первый из них -нерасширенный Паскаль был разработан в 1983 году. Второй Extended Pascal - содержит расширения, касающиеся модульного программирования (раздельная компиляция модулей, импорт-экспорт подпрограмм, интерфейсная часть и реализация), и дополнен рядом процедур и функций(прямой доступ к файлам, работа со строками и т. д ). Последний- объектный Паскаль, в отличии от первых двух формально не утверждён, но оформлен в виде отчёта в 1993 году. Объектный Паскаль поддерживает классы, обладающие свойствами и методами, наследование классов, переопределение методов у потомков(полиморфизм) и ряд других атрибутов объектно-ориентированного программирования.
Широкой популярностью Паскаля среди программистов способствовали следующие причины:
· Благодаря своей компактности, удачному первоначальному описанию Паскаль оказался достаточно лёгким для обучения.
· Язык программирования Паскаль . Отображает фундаментальные и наиболее важные концепции (идеи) алгоритмов в очевидной и легко воспринимаемой форме, что предоставляет программисту средства, помогающие проектировать программы.
· Язык Паскаль позволяет чётко реализовать идеи структурного программирования и структурной организации данных.
· Язык Паскаль сыграл большую роль в развитии методов аналитического доказательства правильности программ и позволил реально перейти от методов отладки программ к системам автоматической проверки и правильности программ.
· Применения языка Паскаль значительно подняло “планку” надёжности разрабатываемых программ за счёт требований Паскаля к описанию используемых в программе переменных при компиляции без её выполнения.
· Использование в Паскале простых и гибких структур управления: ветвлений, циклов
Основная часть программы на Паскале - раздел операторов. Он начинается ключевым словом begin и заканчивается ключевым словом end, за которым следует точка. Операторы отделяются друг от друга точкой с запятой. Рассмотрим основные операторы:
Паскаль модули:
1. <имя_модуля> - имя модуля (правильный идентификатор);
2. INTERFACE - зарезервированное слово (интерфейс); начинает интерфейсную часть модуля;
3. IMPLEMENTATION - зарезервированное слово (выполнение); начинает исполняемую часть модуля;
4. BEGIN - зарезервированное слово; начинает инициирующую часть модуля; причем конструкция begin <инициирующая часть> необязательна;
5. END - зарезервированное слово - признак конца модуля
Конструктор и деструктор
Начнем с того, что когда мы создаем элементы (переменные) класса, мы не можем присвоить им значения в самом определении класса. Компилятор выдаст ошибку. Поэтому нам необходимо создавать отдельный метод (так называемую set-функцию) класса, с помощью которого и будет происходить инициализация элементов. При этом, если необходимо создать, к примеру, 20 объектов класса, то чтобы инициализировать элементы потребуется 20 раз вызвать set-функции.
Тут нам как раз сможет помочь конструктор класса. Кстати, конструктор (от слова construct -- создавать) - это специальный метод класса, который предназначен для инициализации элементов класса некоторыми начальными значениями.
В отличие от конструктора, деструктор - специальный метод класса, который служит для уничтожения элементов класса. Чаще всего его используют, когда в конструкторе, при создании объекта класса, динамически был выделен участок памяти и нужно эту память очистить, если эти значения уже не нужны для дальнейшей работы программы.
Оператор присваивания
Элементарное действие над переменной - изменение е? значения. Применяется оператор присваивания: имя переменной = выражение;
В нем переменная и выражение должны быть одного типа.
Пример:
Пусть х - переменная целого типа. Запишем следующий оператор присваивания: х:= х + 1;
В левой части оператора х обозначает переменную, а в правой части - число, являющееся е? текущим значением. Выполнение этого оператора приводит к увеличению значения переменной х на единицу.
Операторы ввода/вывода
Во время исполнения программы она обменивается информацией с "внешним миром". Например, она может выдавать информацию на экран или получать информацию с клавиатуры. Для этого используются операторы ввода и вывода.
Оператор вывода имеет вид:
Write или writeln. В результате выполнения этого оператора значение соответствующего выражения будет выведено на экран. Выражение может быть любым из указанных выше типов.
Операторы инкремента и декремента
Кроме оператора присваивания существуют оператор инкремента и декремента, которые также позволяют изменять значения переменных целого типа. Оператор inc(x, n) увеличивает значение переменной x целого типа на n. Параметр n может быть опущен, тогда значение x увеличится на единицу.
Оператор dec(x, n) уменьшает значение переменной x на n, а оператор dec(x)уменьшает x на единицу. Программисты чаще всего используют короткие формы операторов инкремента и декремента для увеличения или уменьшения значений целочисленных переменных на единицу, т.е. могут использовать inc(i) вместо i:= i + 1 и dec(i) вместо i:= i - 1
Методы
Объект сам по себе не представляет большого значения. Намного значительнее то, какие действия можно совершать над объектом, и какими свойствами он обладает. Метод как раз и представляет собой действие, выполняемое над объектом.
Заключение
В изученной мной дисциплине я узнал, что весь мир состоит из объектов. Для дальнейшего развития объектно-ориентированного программирования часто большое значение имеют понятия события. Взаимодействие объектов происходит посредствам сообщений.Результатом дольнейшего развития ООП, по- видимому, будет агентно-ориентированное программирование.
Первым языком программирования, в котором были предложены принципы объектной ориентированности, была Симула В момент его появления в в 1967году в нём были предложены революционные идеи: объекты, классы, виртуальные методы и др., однако это всё не было воспринято современниками как нечто грандиозное.
Тем не менее, большинство концепций были развиты Аланом Кэем и Дэном Ингаллсом в языке Smalltalk. Именно он стал первым широко распространённым объектно-ориентированным языком программирования.
Библиографический список
1. Объектно-ориентированное программирование В.В. Мухортов, В.Ю. Рылов 2008 г.
2. Парадигма программирования, Джесси Рассел 2007 г.
3. Новая парадигма устойчивого развития, А. С. Харитонов 2010-2011 г.г.
4. Парадигма дуализма. Пространство - время, информация - энергия, А. И. Демин 2006 г.
Размещено на Allbest.ru
...Подобные документы
Анализ объектно-ориентированного программирования, имитирующего способы выполнения предметов. Основные принципы объектно-ориентированного программирования: инкапсуляция, наследование, полиморфизм. Понятие классов, полей, методов, сообщений, событий.
контрольная работа [51,7 K], добавлен 22.01.2013Общая характеристика объектно-ориентированного подхода в программировании, его основные свойства и принципы. Разработка программы для автоматизация деятельности кафе на основе объектно-ориентированного подхода, проектирования и реализации схемы данных.
курсовая работа [1,2 M], добавлен 22.01.2012Основная цель технологии СОМ (объектная модель компонентов) - обеспечение возможности экспорта объектов. Объектно-ориентированное программирование и его место в программировании. Принципы и применение описаний информационных систем (UML и аналоги).
курсовая работа [698,3 K], добавлен 09.12.2013Использование объектно-ориентированного программирования - хорошее решение при разработке крупных программных проектов. Объект и класс как основа объектно-ориентированного языка. Понятие объектно-ориентированных языков. Языки и программное окружение.
контрольная работа [60,1 K], добавлен 17.01.2011Характеристики и свойства языков программирования. Исследование эволюции объектно-ориентированных языков программирования. Построение эволюционной карты механизмов ООП. Разработка концептуальной модели функционирования пользовательского интерфейса.
курсовая работа [2,6 M], добавлен 17.11.2014Технологии программирования. Сущность объектно-ориентированного подхода к программированию. Назначение Си, исторические сведения. Алфавит, базовые типы и описание данных. Структуры и объединения. Операторы Си++. Функции. Библиотека времени выполнения.
курс лекций [51,9 K], добавлен 03.10.2008Приемы и правила объектно-ориентированного программирования с использованием языка С++. Общие принципы разработки объектно-ориентированных программ. Основные конструкции языка С++. Разработка различных программ для Windows с использованием WIN32 API.
учебное пособие [1,6 M], добавлен 28.12.2013Свойства объектно-ориентированного языка программирования. Понятия инкапсуляции и наследования. Виртуальные функции и полиморфизм. Инициализация экземпляра объекта с помощью конструктора. Динамическое создание объектов. Совместимость объектных типов.
реферат [17,0 K], добавлен 15.04.2015Методология объектно-ориентированного программирования в Java. Понятия класса, объекта и объектной переменной. Динамическая и статическая объектные модели. Логическое структурирование приложения. Наследование в Java. Отличия интерфейсов от классов.
курс лекций [547,2 K], добавлен 01.05.2014Особенности исследования методик объектно-ориентированного проектирования программ с помощью языка UML по формализации, решению поставленной задачи, технологических приемов разработки объектно-ориентированных программ на языке Си++. Разработка программы.
контрольная работа [188,9 K], добавлен 22.10.2014Изучение принципов объектно-ориентированного программирования, в котором основными концепциями являются понятия классов и объектов. Свойства этого вида программирования: инкапсуляция, полиморфизм, наследование. Описание класса. Конструкторы и деструкторы.
презентация [74,8 K], добавлен 14.10.2013Разработка программы с использованием принципов объектно-ориентированного программирования на языке высокого уровня С средствами Microsoft Visual Studio 2010. Построение алгоритма реализации. Класс программы, инструкция по использованию программы.
курсовая работа [1,0 M], добавлен 26.12.2013Использование скриптового языка программирования для разработки web-приложений (сценариев). Изучение основ объектно-ориентированного программирования в языке PHP. Ознакомление со специальными методами для работы с классами. Назначение интерфейсов.
контрольная работа [25,1 K], добавлен 14.03.20151С: Предприятие как специализированная объектно-ориентированная система управления базами данных, ее назначение и использования в организациях, среда разработки и порядок работы с информационной базой. Объектно-ориентированные методы программирования.
методичка [47,3 K], добавлен 06.07.2009Понятие объектно-ориентированного программирования, общая характеристика языков высокого уровня. Разработка программного обеспечения для реализации компьютерной игры "пинбол" с помощью императивного программирования в среде Microsoft Visual Basic.
курсовая работа [428,9 K], добавлен 19.09.2012Объектно-ориентированное программирование как методология программирования, опирающаяся на инкапсуляции, полиморфизме и наследовании. Общая форма класса. Наследование как процесс, посредством которого один объект получает свойства другого объекта.
презентация [214,9 K], добавлен 26.10.2013Понятие объектно-ориентированного программирования, характеристика используемых языков. Практическая разработка средств объектно-ориентированного программирования в задачах защиты информации: программная реализация на языке С++, а также Turbo Pascal.
курсовая работа [275,9 K], добавлен 22.12.2011Анализ предметной области объектно-ориентированного программирования. Языки Delphi, Object Pascal - объектно-ориентированная среда программирования. Основные алгоритмические решения. Решение дифференциального уравнения методом Рунге-Кутта в среде Excel.
курсовая работа [1,5 M], добавлен 02.04.2011Анализ проблематики построения объектно-ориентированного канала связи. Основные понятия протокола Modbus. Возможности CodeSys для реализации объектно-ориентированного подхода. Разработка методики кроссплатформенной библиотеки для интеграции устройств.
курсовая работа [38,6 K], добавлен 15.06.2013Применение объектно-ориентированного программирования для написания нескольких модулей программы. Вычисление алгебраического уравнения методом половинного деления. Применение метода Эйлера в теории численных методов общих дифференциальных уравнений.
курсовая работа [398,1 K], добавлен 26.02.2015