Программирование на C и C++

Онлайн справочник программиста на C и C++

Объектно-ориентированное программирование

Объектно-ориентированное программирование представляет собой путь для овладения профессией программиста. С момента изобретения компьютера методологии программирования драматически изменяются, приспосабливаясь к растущей сложности программ. Например, в самом начале компьютерной эры программирование осуществлялось с лицевой панели компьютера путем ввода двоичных машинных инструкций. До тех пор, пока программы содержали не более сотни-другой инструкций, такой подход работал. С ростом программ был изобретен язык Ассемблер, так что программист мог работать с большими и более сложными программами, используя символическое представление для машинных инструкций.

В конце концов были введены языки высокого уровня, дающие программисту больше средств для решения проблемы сложности программ. Первым широко распространенным языком был FORTRAN. Хотя FORTRAN был очень впечатляющим первым шагом, его трудно считать языком, обеспечивающим ясность и легкость понимания программ.

60-е годы дали начало структурному программированию — методу, во многом обязанному таким языкам, как С и Паскаль. Структурированные языки впервые позволили писать относительно сложные программы с достаточной легкостью. Однако, как только проект достигал определенного размера, работать с ним оказывалось трудно, даже при использовании методов структурного программирования.

Вехами в развитии программирования являются методы, которые служат решению проблемы возрастающей сложности программ. На каждом этапе этого пути новый подход включает в себя лучшие элементы предыдущих методов и идет дальше их. В настоящее время многие проекты достигли той точки, где подход структурного программирования более не работает. Для решения возникающих проблем и было изобретено объектно-ориентированное программирование.

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

Все объектно-ориентированные языки имеют три общие концепции: инкапсуляцию, полиморфизм и наследование.