Объектно-ориентированное программирование
В середине 80-х годов в программировании возникло новое направление, основанное на понятии объекта. До того времени основные ограничения на возможность создания больших систем накладывала разобщенность в программе данных и методов их обработки.
Реальные объекты окружающего мира обладают тремя базовыми характеристиками: они имеют набор свойств, способны разными методами изменять эти свойства и реагировать на события, возникающие как в окружающем мире, так и внутри самого объекта. Именно в таком виде в языках программирования и реализовано понятие объекта как совокупности свойств (структур данных, характерных для этого объекта), методов их обработки (подпрограмм изменения свойств) и событий, на которые данный объект может реагировать и которые приводят, как правило, к изменению свойств объекта.
Появление возможности создания объектов в программах качественно повлияло на производительность труда программистов. Максимальный объем приложений, которые стали доступны для создания группой программистов из 10 человек, за несколько лет увеличился до миллионов строк кода, при этом одновременно удалось добиться высокой надежности программ и, что немаловажно, повторно использовать ранее созданные объекты в других задачах.
Объекты могут иметь идентичную структуру и отличаться только значениями свойств. В таких случаях в программе создается новый тип, основанный на единой структуре объекта. Он называется классом, а каждый конкретный объект, имеющий структуру этого класса, называется экземпляром класса.
Объектно-ориентированный язык программирования характеризуется тремя основными свойствами:
1. Инкапсуляция – объединение данных с методами в одном классе;
2. Наследование – возможность создания на основе имеющегося класса новые классы с наследованием всех его свойств и методов и добавлением собственных;
3. Полиморфизм – присвоение действию одного имени, которое затем совместно используется вниз и вверх по иерархии объектов, причем Каждый объект иерархии выполняет это действие способом, подходящим именно ему.
Контрольные вопросы
1. Что такое алгоритм? Приведите пример.
2. Какими свойствами обладает алгоритм?
3. Какие способы используются для описания алгоритма?
4. Какие алгоритмы различают? Приведите примеры.
5. Что такое язык программирования?
6. В чем отличие языков программирования от естественных?
7. По какому принципу различаются языки программирования?
8. Охарактеризуйте машиннозависимые языки программирования.
9. Дайте характеристику машиннонезависимым языкам программирования.
10. Для чего используются трансляторы?
11. В чем отличие компилятора от интерпретатора?
12. Какие виды программирования выделяют?
13. Дайте характеристику алгоритмическому программированию.
14. В чем заключается особенность структурного программирования?
15. Для чего используются подпрограммы и какие они бывают?
16. Охарактеризуйте объектно-модульное программирование.
17. Какие основные свойства присущи объектно-ориентированному языку программирования?
Дата добавления: 2016-05-31; просмотров: 1768;