Выбор языка программирования. Анализ объектно-ориентированного программирования. — КиберПедия 

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...

Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...

Выбор языка программирования. Анализ объектно-ориентированного программирования.

2017-06-11 507
Выбор языка программирования. Анализ объектно-ориентированного программирования. 0.00 из 5.00 0 оценок
Заказать работу

3.1. Выбор языка программирования:

Если нет особой необходимости использовать какой-либо конкретный язык, я бы порекомендовал начать, выбрав один из пяти языков программирования для начинающих:
VisualBasic - если вы ограничитесь написанием приложений для Windows и хотите создавать полезные инструменты, которые будут относительно небольшими по масштабам, а также требуется язык, который можно выучить быстро и легко, то VisualBasic представляет прекрасное решение для вас.
Pascal - Паскаль был разработан в качестве языка обучения с хорошими навыками и основам программирования, поскольку он требует очень дисциплинированный подход при написании кода. Паскаль не рассматривается в качестве сильного и мощного языка вроде C, C + + или Java. Он используется по сей день, но уже считается морально устаревшим. Несмотря на это он легок в изучении и прививает грамотность и навыки программирования.
C - если вы заинтересованы использованием ваших программ на операционных системах, отличных от Windows, хотите язык, который является очень популярным и хорошо поддерживается в плане документации, а также хотите узнать более мощный язык программирования, то C является хорошим вариантом. C очень мощный язык, основанный на функциональном стиле, который используется уже многие годы. Это хорошо подтверждается наличием хорошей документации. C до сих пор широко используется сегодня.
C++ - если вы хотите узнать это очень мощный и кроссплатформенный язык, который является стандартом для создания крупномасштабных программ сегодня, C++ будет хорошим выбором. C++ является "объектно-ориентированным" языком, который считается новой парадигмой в среде языков программирования (в отличие от функциональных, таких как язык, основанный на C). C++ может быть использован и для написания программ использующих функциональный подход, а также и поддерживает большое количество кода написанного на языке C.
Анализ объектно-ориентированного программирования:

Объе́ктно-ориенти́рованное программи́рование (ООП) — методология программирования, основанная на представлении программы в виде совокупности объектов, каждый из которых является экземпляром определенного класса, а классы образуют иерархию наследования.

В центре ООП находится понятие объекта. Объект — это сущность, которой можно посылать сообщения, и которая может на них реагировать, используя свои данные. Объект — это экземпляр класса. Данные объекта скрыты от остальной программы.Сокрытие данных называется инкапсуляцией.

Наличие инкапсуляции достаточно для объектности языка программирования, но ещё не означает его объектной ориентированности — для этого требуется наличие наследования.

Но даже наличие инкапсуляции и наследования не делает язык программирования в полной мере объектным с точки зрения ООП. Основные преимущества ООП проявляются только в том случае, когда в языке программирования реализован полиморфизм подтипов — возможность единообразно обрабатывать объекты с различной реализацией при условии наличия общего интерфейса.

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

Объектно-ориентированное проектирование ориентируется на описание структуры проектируемой системы (приоритетно по отношению к описанию её поведения, в отличие от функционального программирования), то есть, фактически, в ответе на два основных вопроса:

Из каких частей состоит система;

В чём состоит ответственность каждой из ее частей.

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

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

Большое значение имеет правильное построение иерархии классов. Одна из известных проблем больших систем, построенных по ООП-технологии — так называемая проблема хрупкости базового класса. Она состоит в том, что на поздних этапах разработки, когда иерархия классов построена и на её основе разработано большое количество кода, оказывается трудно или даже невозможно внести какие-либо изменения в код базовых классов иерархии (от которых порождены все или многие работающие в системе классы). Даже если вносимые изменения не затронут интерфейс базового класса, изменение его поведения может непредсказуемым образом отразиться на классах-потомках. В случае крупной системы разработчик базового класса просто не в состоянии предугадать последствия изменений, он даже не знает о том, как именно базовый класс используется и от каких особенностей его поведения зависит корректность работы классов-потомков.



Поделиться с друзьями:

История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...

Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...

Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...

Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьше­ния длины пробега и улучшения маневрирования ВС при...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.007 с.