1 1.Что такое объектыЧто такое объекты 2. Объектно-ориентированное программированиеОбъектно-ориентированное программирование 3. Пример работы с объектамиПример.

Презентация:



Advertisements
Похожие презентации
OOП Инна Исаева. Подпрограмма – это большая программа, разделённая на меньшие части. В программе одна из подпрограмм является главной. Её задача состоит.
Advertisements

Методология объектно- ориентированного программирования.
Основы объектно-ориентированного программирования (ООП)
В. И. Дихтяр ИНФОРМАТИКА Российский университет дружбы народов Институт гостиничного бизнеса и туризма Раздел 3Моделирование объектов и процессов и его.
1 © Luxoft Training 2012 Введение в ООП Модуль #2.
Унифицированный язык моделирования UML является графическим языком для визуализации, конструирования и документирования систем, в которых большая роль.
Тема 5. Основы современной технологии программирования Программирование в средах современных информационных систем. Интегрированные системы разработки.
В. Дихтяр ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ (для бакалавров) Российский университет дружбы народов Институт гостиничного бизнеса и туризма Раздел 1.Разработка.
Схема данных в Access Преподаватель: Французова Г.Н.
Алгоритмический подход – главное алгоритм решения задачи ( в основном, используется для вычислительных задач ); Структурное программирование – декомпозиция,
Полиморфизм. Полиморфизм – это свойство системы использовать объекты с одинаковым интерфейсом без информации о типе и внутренней структуре объекта.
Программирование в Mozilla По материалам сайта. Добавление Javascript в XUL-страницы Добавление страниц с текстом на Javascript происходит точно так же,
Сетевые службы Для конечного пользователя сеть это не компьютеры, кабели и концентраторы и даже не информационные потоки, для него сеть это, прежде всего,
Разработка программного обеспечения при объектном подходе Объектно-ориентированный подход.
Тема: «МЕТОДЫ ПРЕПОДАВАНИЯ ПРОГРАММИРОВАНИЯ В БАЗОВОМ КУРСЕ ИНФОРМАТИКИ» Автор Учитель информатики СШ6. г. Раменское Халкечева Л.В. 2009г.
Модель и моделирование ГЛАВА 3. Вопрос О чём мы будем говорить в третьей главе? (с. 97 учебника)
ООП Лекция 1. Основные понятия. Литература Шилдт Г. С#: полное руководтво.-М.:ООО Вильямс, с. Культин Н.Б. Microsoft Visual C# в задачах и.
Основы информатики Классы Заикин Олег Сергеевич zaikin.all24.org
Java-script – обзор и возможности.. JavaScript объектно-ориентированный скриптовый язык программирования. JavaScript обычно используется как встраиваемый.
СУЩНОСТЬ-СВЯЗЬ (ER МОДЕЛЬ) Основные элементы: СущностиСущности –Атрибуты –Ключи СвязиСвязи.
Транксрипт:

1 1.Что такое объектыЧто такое объекты 2. Объектно-ориентированное программированиеОбъектно-ориентированное программирование 3. Пример работы с объектамиПример работы с объектами

2 Везде в реальном мире, куда бы вы ни взглянули, вы видите объекты, людей, машины, самолеты, здания, компьютеры и так далее. Люди мыслят на языке объектов. Телефоны, дома, светофоры, микроволновые печи и холодильники это просто некоторые объекты, которые мы видим вокруг нас ежедневно. Иногда мы делим объекты на две категории одушевленные и неодушевленные. Одушевленные объекты в некотором смысле «живые» они движутся и что-то делают. Неодушевленные объекты, с другой стороны, сами по себе не движутся. Однако объекты обоих типов имеют нечто общее. Все они имеют атрибуты (например, размер, форму, цвет и высоту), и они проявляют поведение (например, мяч катится, скачет, надувается и сдувается; ребенок плачет, спит, ползает, ходит и моргает; автомобиль разгоняется, тормозит и поворачивает; полотенце впитывает воду). Люди познают существующие объекты, изучая их атрибуты и наблюдая их поведение. Различные объекты могут иметь похожие свойства и проявлять сходное поведение. Можно, например, провести сравнение между детьми и взрослыми, между людьми и шимпанзе. Что такое объекты

3 Предположим, вы хотите поехать на машине; вы разгоняете ее, нажимая на акселератор. Что должно произойти, прежде чем вы сможете это сделать? Вообще говоря, чтобы вы могли ездить на машине, кто-то должен был спроектировать и собрать ее. Автомобиль начинается с инженерных эскизов и чертежей, похожих на планы дома. В эти чертежи входит конструкция педали акселератора, с помощью которой водитель разгоняет машину. В некотором смысле эта педаль «скрывает» за собой сложные механизмы, которые в действительности заставляют машину ехать быстрее, точно так же, как педаль тормоза «скрывает» механизмы, замедляющие машину, руль «скрывает» механизмы, поворачивающие машину и т.д.

4 К сожалению, нельзя ездить на чертежах автомобиля; прежде чем вы поедете, автомобиль должен быть собран согласно описывающим его чертежам. В полностью собранном автомобиле будет настоящая педаль акселератора, предназначенная для его ускорения. Но и этого недостаточно автомобиль не будет разгоняться сам собой; для этого нужно, чтобы водитель нажимал на эту педаль, приказывая автомобилю ехать быстрее. Все это позволяет людям, мало или вообще ничего не знающим о том, как устроен автомобиль, с легкостью водить его, просто нажимая на акселератор и тормоз, поворачивая руль, переключая передачи и манипулируя прочими простыми, привычными пользователю «интерфейсами» сложных внутренних механизмов.

5 Теперь давайте воспользуемся примером с автомобилем, чтобы представить ключевые концепции объектно-ориентированного программирования. Чтобы выполнить в программе некоторую задачу, требуется функция Функция описывает механизмы, которые в действительности эту задачу выполняют. Функция скрывает от пользователя выполняемые ею сложные задачи, точно так же как акселератор скрывает от водителя сложные механизмы, заставляющие автомобиль ускоряться. В C++ мы начинаем с создания программной единицы, называемой классом, в которую входит функция как в чертежи автомобиля входит конструкция педали акселератора. Функция, принадлежащая классу, называется его элемент-функцией. В классе предусматривают одну или более элемент-функций, предназначенных для выполнения задач класса. Например, класс, представляющий банковский счет, может содержать одну элемент-функцию для внесения денег на счет, другую для снятия денег со счета и третью для справок о текущем состоянии счета.

6 Точно так же, как нельзя ездить на чертежах автомобиля, нельзя «ездить» на классе. Как кто-то должен был собрать автомобиль по чертежам, прежде чем вы сможете на нем поехать, так и вы должны создать объект класса, прежде чем программа сможет выполнять описываемые классом задачи. Заметьте, что из одного класса можно точно так же породить много объектов, как по одним и тем же чертежам собрать много автомобилей. Когда вы ведете машину, нажатие акселератора посылает машине сообщение ехать быстрее. Аналогичным образом вы посылаете объекту сообщения, каждое из которых называется вызовом элемент-функции и приказывает элемент-функции объекта выполнить ее задачу. Часто это называют запросом услуг у объекта.

7 Мы пользовались аналогией с автомобилем, чтобы представить класс, объекты и элементы-функции. Помимо предоставляемых автомобилем возможностей, у него имеется также множество атрибутов, таких, как цвет, число дверей, количество бензина в баке, текущая скорость и суммарный пробег (т.е. показания счетчика-одометра). Как и возможности автомобиля, его атрибуты представлены в проекте и чертежах. Когда вы ведете автомобиль, они все время с ним ассоциируются. У каждого автомобиля имеются свои собственные атрибуты. Например, каждый автомобиль знает о том, сколько бензина у него в баке, но не о том, сколько бензина в баках других автомобилей. Аналогичным образом объект имеет атрибуты, которые, в процессе использования его в программе, всегда сопровождают объект. Спецификация этих атрибутов является частью класса объекта. Например, объект банковского счета имеет атрибут баланса, представляющий сумму денег на счете. Каждый объект банковского счета знает баланс счета, им представляемого, но не балансы других счетов банка. Атрибуты специфицируются элементами данных класса.

8 Объектно-ориентированное проектирование (OOD, Object-Oriented Design) моделирует программное обеспечение на языке, сходном с тем, которым пользуются люди при описании объектов реального мира. OOD пользуется средствами классификации, когда объекты определенного класса, например, класса средств передвижения, имеют одинаковые характеристики лимузины, грузовики, маленькие красные фургончики и роликовые коньки имеют много общего. OOD пользуется отношениями наследования, когда новые классы объектов производятся путем поглощения характеристик существующих классов и добавления к ним своих собственных уникальных характеристик. Объект класса «кабриолет» обладает, безусловно, характеристиками более общего класса «автомобиль», но, в частности, его крыша может подниматься и опускаться.

9 Объектно-ориентированное проектирование предлагает естественный и интуитивный подход к процессу проектирования программного обеспечения, а именно, моделирование объектов посредством их атрибутов, поведения и взаимоотношений, точно так же, как мы поступаем при описании объектов реального мира. OOD моделирует также коммуникацию между объектами. Точно так же, как люди посылают друг другу сообщения (например, сержант дает солдату команду стать по стойке «смирно»), обмениваются сообщениями и объекты. Объект банковского счета может получить сообщение уменьшить свой баланс на определенную сумму, поскольку клиент снял эту сумму со счета.

10 Атрибуты и действия (поведение) OOD инкапсулирует (т.е. упаковывает) в объектах атрибуты и действия объекта тесно связаны между собой. Объекты обладают свойством сокрытия информации. Это означает, что объекты могут знать, как взаимодействовать друг с другом при посредстве точно определенных интерфейсов, но, как правило, им не дано знать, как реализованы другие объекты; детали реализации скрыты внутри самих объектов. Мы вполне, например, можем вести машину, не зная деталей того, как работают двигатели, тормоза, трансмиссии и выхлопные системы нам достаточно знать, как обращаться с педалями акселератора и тормозов, рулевым колесом и так далее. Сокрытие информации, как мы увидим, является ключом к правильному проектированию программного обеспечения.

11 Языки, подобные C++, являются объектно-ориентированными. Программирование на таком языке называют объектно-ориентированным программированием (OOP), и оно позволяет программистам реализовать объектно-ориентированный проект в качестве работающей программной системы. С другой стороны, языки, подобные С, являются процедурными, соответственно программирование тяготеет к ориентации на действия. В С программной единицей является функция. В C++ программной единицей является класс, в качестве представителей (синоним OOP для термина «экземпляр») которого создаются объекты. Классы C++ содержат функции, которые реализуют действия, и данные, которые реализуют атрибуты. существуют прежде всего ради выполняемых функцией действий.

12 Пример работы с объектами В качестве примера можно привести применение различных эффектов при проектировании ВЕБ-страницы. ОБЪЕКТНАЯ МОДЕЛЬ БРАУЗЕРА Браузер строит объектную модель, в которой каждому тегу соответствует отдельный объект. Эти объекты помещаются в соответствующие места иерархической схемы документа.

13 Кроме того, в состав объекта document входят несколько специальных массивов со ссылками на объекты. Эти массивы (их называют коллекциями) удобно использовать для доступа к элементам модели без учета иерархии. Так коллекция с именем all содержит объекты, построенные для всех тегов документа, а коллекция images содержит объекты, построенные для тегов IMG. Объект document представляет собой модель документа, построенного браузером на экране. Управление логикой программного кода при помощи событий это вторая характерная черта ООП наряду с понятием объекта. Управление выполняется посредством событий: возникает событие, и браузер передает управление в нужный объект. Например, на картинке выполнен щелчок. Браузер передает управление объекту, построенному для соответствующего тега IMG.

14 Изменяем свойство объекта document src Смена картинки при наведении курсора Текст HTML-страницы: Не представляя себе как работает объектная модель браузера, мы можем демонстрировать на своей HTML-странице различные эффекты появления, смены картинок.

15 Появление-исчезновение по щелчку на картинке Машина появится при щелчке на картинке утеса в море, а исчезнет при щелчке на ней Изменяем свойство объекта document visibility

16 Изменяем свойство объекта document visibility Появление-исчезновение картинки при наведении Машина появится при наведении курсора на картинку утеса в море, а исчезнет при уходе курсора с машины