3. Краткий обзор ООП
электронный образовательный ресурс

Косинов Андрей Геннадьевич

Краткий обзор объектно-ориентированного программирования
В программировании для Android используются объектноориентированные технологии.
В условиях постоянно растущего спроса на новые мощные программные
продукты достаточно трудно сочетать такие требования, как быстрота
разработки, правильность работы и экономичность. Объекты (а точнее,
классы, на основе которых создаются объекты) по сути представляют собой
повторно используемые программные компоненты. В качестве объектов могут
использоваться дата, время, видео, человек, автомобиль и другие предметы
материального мира. Практически каждое существительное может быть
адекватно представлено программным объектом в понятиях атрибутов
(например, имя, цвет и размер) и поведений (например, вычисление,
перемещение и передача данных). Разработчики программ видят, что
использование модульной структуры и объектно-ориентированного
проектирования при разработке приложений повышает продуктивность
работы. Этот подход пришел на смену применявшемуся ранее структурному
программированию -- объектно-ориентированный код проще понять и
изменить.
Чтобы лучше понять суть объектов и их содержимого, воспользуемся
простой аналогией. Представьте себе, что вы находитесь за рулем автомобиля
и нажимаете педаль газа, чтобы набрать скорость. Что должно произойти до
того, как вы получите такую возможность? Прежде чем вы поведете
автомобиль, кто-то должен его спроектировать. Изготовление любого
автомобиля начинается с инженерных чертежей, которые подробно
описывают устройство автомобиля. В частности, на этих чертежах показано
устройство педали акселератора. За этой педалью скрываются сложные
механизмы, которые непосредственно ускоряют автомобиль, подобно тому
как педаль тормоза скрывает механизмы, тормозящие автомобиль, а руль
скрывает механизмы поворота. Благодаря этому люди, не имеющие понятия о
внутреннем устройстве автомобиля, могут легко им управлять.
Подобно тому как невозможно готовить пищу на кухне, которая лишь
изображена на листе бумаги, нельзя водить автомобиль, существующий лишь
в чертежах. Прежде чем вы сядете за руль машины, ее нужно построить на
основе инженерных чертежей. Воплощенный в металле автомобиль имеет
реальную педаль газа, с помощью которой он может ускоряться, но и это не
все - он не может это делать самостоятельно, а только после того, как водитель
нажмет на педаль.
Для выполнения операции в программе требуется метод, в котором
«скрываются» инструкции программы, непосредственно выполняющие
операцию. Метод скрывает эти инструкции от пользователя подобно тому, как
педаль гака автомобиля скрывает от водителя механизмы, вызывающие
ускорение автомобиля. Программная единица, именуемая классом, включает
методы, выполняющие задачи класса. Например, класс, представляющий
банковский счет, может включать три метода, один из которых пополняет

счет, второй снимает средства со счета, а третий запрашивает текущий баланс.
С концептуальной точки зрения класс подобен инженерному чертежу, в
котором изображено устройство педали газа, рулевого колеса и других
механизмов.
Водитель не сядет за руль автомобиля, пока его не построят по
чертежам, так и построение объекта класса необходимо для выполнения задач,
определяемых методами класса. Этот процесс называется созданием
экземпляра. Полученный при этом объект называется экземпляром класса.
На основе одних и тех же чертежей можно создать много автомобилей,
а на основе одного класса можно создать много объектов. Использование
существующих классов для создания новых классов экономит время и силы
разработчика. Повторное использование также облегчает создание более
падежных и эффективных систем, поскольку ранее созданные классы и
компоненты обычно проходят тщательное тестирование, отладку и
оптимизацию. Подобно тому как концепция использования
взаимозаменяемых частей легла в основу промышленной революции,
повторно используемые классы играют ключевую роль в программной
революции, которая была инициирована внедрением объектных технологий.
Когда вы ведете машину, нажатие педали газа отправляет автомобилю
сообщение с запросом на выполнение определенной задачи (ускорение
автомобиля). Подобным образом отправляются сообщения объекту. Каждое
сообщение представляется вызовом метода, который «сообщает» методу
объекта о необходимости выполнения некоторой задачи. Например,
программа может вызвать метод deposit объекта банковского счета, чтобы
пополнить банковский счет.
Любой автомобиль помимо возможности выполнять определенные
операции также обладает атрибутами, такими как цвет, количество дверей,
запас топлива в баке, показания спидометра и одометра. По аналогии с
операциями атрибуты автомобиля представляются на инженерных
диаграммах (в качестве атрибутов автомобиля могут выступать одометр и
указатель уровня бензина). При вождении автомобиля его атрибуты
перемещаются вместе с ним. Каждый автомобиль содержит собственный
набор атрибутов. Например, каждый автомобиль «знает» о том, сколько
бензина осталось в его баке, но ему ничего не известно о запасах горючего в
баках других автомобилей.
Объект, как и автомобиль, имеет собственный набор атрибутов, которые
он «переносит» с собой при использовании этого объекта в программах. Эти
атрибуты определяются как часть объекта класса. Например, объект
bankaccount имеет атрибут баланса, представляющий количество средств на
банковском счете. Каждый объект bankaccount «знает» о количестве средств
на собственном счете, но ничего не «знает» о размерах других банковских
счетов. Атрибуты определяются с помощью других переменных экземпляра
класса.
Классы инкапсулируют атрибуты и методы в объекты (атрибуты и
методы объекта между собой тесно связаны). Объекты могут обмениваться

информацией между собой, но обычно они не «знают» о деталях реализации
других объектов, которые скрыты внутри самих объектов. Подобное сокрытие
информации жизненно важно в практике хороших программных архитектур.
С помощью наследования можно быстро и просто создать новый класс
объектов. При этом новый класс наследует характеристики существующего
класса, которые при этом могут частично изменяться. Также в новый класс
добавляются уникальные характеристики, присущие только этому классу.
Если вспомнить аналогию с автомобилем, «трансформер» является объектом
более обобщенного класса «автомобиль», у которого может подниматься или
опускаться крыша.
Чтобы выработать наилучшее решение при разработке программного
обеспечения, следует провести детальный анализ требовании к программному
проекту (то есть определить, что должна делать система) и разработать
архитектуру, которая будет соответствовать этим требованиям (то есть
определить, как система будет выполнять свои задачи). В идеале перед
началом создания кода следует выполнить эту процедуру и тщательно
проанализировать проект (либо поручить выполнение этой задачи другим
профессионалам). Если в ходе выполнения этого процесса происходит анализ
и проектирование системы с применением объектно-ориентированного
подхода, значит, мы имеем дело с процессом объектно-ориентированного
анализа и проектирования (ООАП). Языки программирования, подобные Java,
называются объектно-ориентированными. Программирование па таких
языках, называемся' объектно-ориентированным программированием (ООП),
реализует объектно-ориентированные проекты в виде работоспособных
систем.

 

Скачать:

ВложениеРазмер
PDF icon 3._kratkiy_obzor_oop.pdf369.8 КБ

Предварительный просмотр:

По теме: методические разработки, презентации и конспекты

Обзор методик коррекционной работы для устранения нарушений интонационной стороны речи.

Для устранения дефектов интонационной стороны речи, не вызванных анатомическими нарушениями в органах голосообразования и артикуляции, требуется специальная  логопедическая  работа....

Мастер-класс по Автотренажеру "Форсаж-7" (панорамный экран с углом обзора 210 градусов).

В работе представлен мастер-класс по использованию Автотренажера "Форсаж-7" с панорамным экран с углом обзора 210 градусов в интерактивном учебном центре "Автоград".Автотренажер предназначен для автош...

Обзор литературных источников по проблеме организации воспитательной работы с учащимися в современной школе

В статье представлен анализ учебно-методической литературы по вопросам организации воспитательного процесса в современной школе....

Методическое пособие "Анализ – обзор художественной культуры России XVIII в. на слушании русской классики"

Методическое пособие для студентов педагогического колледжа и учителей музыки.Методическое пособие предназначено для использования на практике студентами педагогических колледжей. В методическом пособ...

Краткий обзор "железа" персонального компьютера

В презентации представлены основные виды оборудования стандартного "офисного" персонального компьютера....

Статья на тему: "Краткий обзор участия России в первой мировой войне !1914 - 1918 годы)"

Статья предназначена для изучения курса истории ОУДБ.05 студентами первого курса СПО. Тема: "Краткий обзор участия России в первой мировой войне"...

Методическая продукция : Презентационный материал "Краткий обзор по теме "Политические режимы""

Данный презентационный материал предназначен для повторения или же для актуализации зананий по теме "Политические режимы". Материал содержит примеры тренировочных заданий....