Инструменты пользователя

Инструменты сайта


examination:oop:question1

1. Факторы, обусловившие появление и содержание концепции ООП.

ООП возникло в результате развития идеологии процедурного программирования, где данные и различные функции, которые манипулируют этими данными никак не связывались вместе. Во-вторых развитие ООП было связано с ростом сложности программ, так как при размере уже в 10,000 строк было уже довольно сложно воспринимать программу как единое целое.

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

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

1. Инкапсуляция — это свойство системы, позволяющее объединить данные и методы, работающие с ними, в классе и скрыть детали реализации от пользователя. Это свойство позволяет предоставить программисту только пользовательский интерфейс работы какого-либо объекта, дабы уменьшить возможность возникновения ошибки.

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

3. Полиморфизм — это свойство системы использовать объекты с одинаковым интерфейсом без информации о типе и внутренней структуре объекта. Это свойство позволяет использовать объекты, различные по своей природе, но обладающие общими интерфейсами, это свойство придает дополнительную гибкость при объектно-ориентированном программировании. Кратко смысл полиморфизма можно выразить фразой: «Один интерфейс, множество реализаций»

examination/oop/question1.txt · Последние изменения: 2014/01/15 08:22 (внешнее изменение)