Метод автоматизированного пополнения словаря ударений - Программирование, компьютеры и кибернетика дипломная работа

Метод автоматизированного пополнения словаря ударений - Программирование, компьютеры и кибернетика дипломная работа




































Главная

Программирование, компьютеры и кибернетика
Метод автоматизированного пополнения словаря ударений

Первые системы синтеза речи. Расстановка ударений в неизвестных словах и занесение слов в словарь. Библиотека классов и пространства имен. Общеязыковая среда исполнения. Автоматическое управление памятью. Формирование эталонного ритмического рисунка.


посмотреть текст работы


скачать работу можно здесь


полная информация о работе


весь список подобных работ


Нужна помощь с учёбой? Наши эксперты готовы помочь!
Нажимая на кнопку, вы соглашаетесь с
политикой обработки персональных данных

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Культура речи - понятие, в основе которого лежит сформированное в сознании человека представление о речевом идеале, некий эталонный образец, которому человек должен следовать во время выражения своих мыслей. Культура речи, как и другие компоненты общей культуры человека, требует постоянного качественного развития и совершенствования.
Проблематику культуры речи начали рассматривать еще философы античности, такие как Аристотель, Сократ и Платон. Демократическое государственное устройство Древней Греции способствовало активному вмешательству людей разных сословий в политическую жизнь страны. Гражданам часто приходилось выступать публично. Для того чтобы уметь донести до публики свою точку зрения или наоборот - опровергнуть доводы оппонента, требовались определенные навыки убеждения и опыт устного воздействия на аудиторию.
Такие условия стали предпосылкой к зарождению риторики - науки об искусстве красноречия [1]. Риторика рассматривалась как важнейшая часть культуры мышления (философского, политического и художественного), и позже вошла в число «избранных наук». Принято считать, что понятие «культуры речи» было впервые упомянуто именно в это время.
В нашем государстве появление понятия «культура речи» связывают с возникновением новой советской интеллигенции в начале XX века, сопровождавшейся борьбой за чистоту русского языка. В этот период в свет выходят труды [2] и [3], сформировавшие базис к последующему приобщению людей к грамотной речи. Кроме того, в советский период существовала цензура в сфере СМИ, что благоприятно сказывалось на общем культурном состоянии страны, активно внедряя в массы прообраз грамотной речи.
За последние десятилетия наблюдается спад общего культурного развития общества, произошли значительные негативные перемены в формировании облика русского языка. В первую очередь эта тенденция касается культуры речи. Демократизация средств массовой информации и глобальная информатизация стали негативно сказываться на уровне литературной образованности общества, так как в этих сферах грамотность практически никак не регулируется. Язык художественной литературы, политики, средств массовой информации влияет на формирование языковой культуры и языкового идеала. Читая газеты и журналы, слушая радио- и телепередачи, человек неосознанно запоминает те или иные языковые нормы, устойчивые (в том числе и заведомо ложные) обороты, которые впоследствии закрепляет через прямое общение, Интернет-переписку и т.п. как эталон речи. Расхождения между литературным языком и существующим в настоящее время многообразием речевых «субкультур» очевидны [4]. Все это вместе взятое ведет к обеднению активного словарного запаса. Язык просто меняется, отражая то, что происходит вокруг нас.
Грамотность играет ключевую роль в публичной речи. Если же оратор допускает многочисленные стилистические и грамматические ошибки, слушатель отвлекается от главной мысли. Нарушается автоматизм восприятия, от чего внимание расходуется не на смысл речи, а на распознавание ее отдельных языковых единиц. Кроме того, неграмотная речь через эстетическое отторжение вызывает отторжение информации как таковой. Поэтому соблюдение языковых норм и правил, преодоление штампов и канцеляризмов, жаргонизации и вульгаризации языка существенно облегчает процесс общения [5].
Правила языка и языковые нормы фиксируются в соответствующих лингвистических словарях. Существует огромное множество словарей, различающихся по определенным типологическим признакам (толковые [6], орфографические [7], орфоэпические [8], синонимические [9] и т.д.). Однако со временем словари утрачивают свою актуальность. Словари нуждаются в постоянном регулировании и обновлении, чтобы их содержание было всегда наиболее подробным и полным. Неполнота электронного словаря - проблема вечная и, к счастью, гораздо легче решаемая, чем неполнота «бумажного» варианта. Необходимо только время и аккуратность человека, который пополняет словарь. Аккуратность нужна, в частности и потому, что ввод каждого нового слова может затронуть уже имеющийся размеченный массив: например имя собственное МиМла «испортит» равноправие нарицательных форм миМла и милаМ [10].
Ручной метод пополнения является наиболее распространенным: человек сам вносит соответствующие коррективы, если он обладает конкретными знаниями. Но данный метод требует больших трудозатрат. Поэтому в зависимости от типологии принимаются попытки разработать автоматизированные системы, способные значительно сократить трудоемкость пополнения словарей.
Следует отметить, что невозможно разработать и использовать единый алгоритм пополнения для словарей с различной типологией, так как их строение в корне отличается друг от друга. В каждом отдельно взятом случае следует принимать во внимание все языковые особенности, по которым группируются элементы словаря. Для словаря ударений и орфоэпического словаря до сих пор не было разработано достаточно качественных методик автоматизированного пополнения, в то время как для русского языка эта задача достаточно актуальна: в русском языке нет формальных правил постановки ударения, в отличие от таких языков, как польский, венгерский и др. Расположение ударений играет немаловажную роль в стихосложении.
Поэзия - форма литературного творчества, в которой произведения создаются посредством ритмического распределения ударных и безударных слогов и рифмующихся слов. Поэзия всегда играла ключевую роль в духовном развитии общества. По сравнению с прозой, стихотворение представляет собой несколько более сложную художественную структуру. Прозаический текст подчиняется лишь совсем небольшому количеству литературных норм, которые позволяют рассматривать произведение как творчество, обладающее художественной ценностью, в то время как правила, по которым организована поэзия, более жесткие. По своей концепции стихосложение больше напоминает создание музыкальной композиции.
Ключевой особенностью поэтических произведений является некая ритмическая организованность, благодаря которой в процессе чтения стихотворения человек неосознанно строит предположения о том, какая будет интонация в последующих строках. Этот факт позволяет рассматривать стихотворение как четко структурированную систему с закономерным расположением ударных слогов.
Если проанализировать ритмический рисунок стихотворения с технической стороны, предоставляется возможность выдвинуть гипотезы о том, какие будут ударные позиции у неизвестных слов, так как ритм, как правило, сохраняется на протяжении всего произведения. Наиболее вероятностный результат можно сформулировать как эталонный и применить для всех строф. При достаточном объеме входных данных, эталонный ритмический рисунок позволит расставить ударения в тех позициях строф, где встречаются неизвестные слова. Другими словами, если вся строфа или некоторые ее элементы регулярно повторяются в последующих частях стихотворения, можно предположить, что такое строение будет свойственна всему стихотворению. Это суждение дает основу для того, чтобы автоматизировать процесс пополнения словарей ударений и орфоэпических словарей.
В данной работе приведено подробное описание разработки такой системы и результаты ее работы.
1. Назначение и область применения
Автоматизированная методика пополнения словарей ударений, описанная в данной работе, может быть внедрена в более крупные системы, использующие такие словари для решения конкретных задач.
Синтезатор речи - это система преобразования текста в речь. Первые системы синтеза речи начали появляться уже в начале XX века. Все чаще мы можем наблюдать повсеместное использование таких систем, призванных автоматизировать выдачу конкретной информации:
· воспроизведение электронных книг;
· воспроизведение информации в информационно-справочных системах для помощи слепым и немым;
· объявление отправления поездов и авиарейсов;
· выдача информации о каких-либо технологических процессах на производстве.
Синтезаторы речи все еще далеки от совершенства: требуется большой объем памяти для хранения знаний о том, как воспроизводить текст; часто наблюдается нарушение интонации в слишком длинных предложениях; голос синтезатора, как правило, больше напоминает речь робота, чем речь живого человека. Инженеры постепенно решают каждую из этих проблем, улучшая качество таких систем.
Методы синтеза человеческой речи основаны на использовании двух моделей [11]:
Модель компилятивного синтеза представляет собой синтез речи путем комбинирования записанных образцов отдельных звуков. При использовании такой модели составляется база данных звуковых фрагментов, из которых по кусочкам собираются целые предложения. Модель компилятивного синтеза применима только в простейших случаях, когда синтезатор должен уметь произносить достаточно небольшой и заранее известный набор фраз. Качество речи при таком подходе остается на достаточно высоком уровне. Тем не менее, на стыке составляемых звуковых фрагментов возможны интонационные искажения и разрывы, заметные на слух. Кроме того, создание крупной базы данных звуковых фрагментов, учитывающей все особенности произношения фонем и аллофонов с разными интонациями, представляет собой сложную и кропотливую работу.
Формантно-голосовая модель основана на моделировании речевого тракта человека. Такая модель может быть реализована с применением нейронных сетей и допускает самообучение. Из-за высокой сложности точного моделирования особенностей речевого тракта формантно-голосовая модель обладает относительно низкой точностью синтезируемых звуков речи.
Решение задачи расстановки ударений поможет системам, работающим с заведомо неизвестным текстом, воспроизводить речь более естественно. Для определения ударения можно использовать заготовленный словарь произношений, содержащий сведения об ударении. Система производит поиск нужного слова, находит указание на ударный слог и осуществляет пошаговое воспроизведение каждой фонемы, соблюдая правильную интонацию. Наиболее известными синтезаторами речи, использующими словари ударений, являются Govorilka, Ice Book Reader и Acapela Alyona.
В настоящее время особой популярностью пользуются так называемые генераторы рифм. Эти программы позволяют мгновенно подобрать к нужному слову наиболее подходящую рифму. Данный подход к написанию стихов является несколько спорным моментом, так как произведение, написанное таким образом, теряет всякую ценность. Даже не слишком глубокий анализ позволяет с легкостью выявить искусственность происхождения такого текста. Кроме того, теряется возможность сохранить первоначальный смысл стихотворения, так как системы по подбору рифм пока не обладают настолько развитым искусственным интеллектом для смыслового анализа, позволяющим полностью заменить писательский труд. Однако если автор не ставит перед собой цели внести какой-либо литературный вклад, то такой метод крайне эффективен (например, для написания лозунгов, слоганов, поздравительных стишков). Более того, с точки зрения лингвистики такие методы могут представлять некоторый научный интерес.
Генераторы рифм можно разделить на два вида:
· добавлению рифмующихся строк к изначально заданным
Первый метод генерации почти полностью исключает авторское вмешательство, подбирая строки практически лишенные какой-либо осмысленности. Второй метод является более гибким и точным, требуя от автора лишь уточнения рифмующегося слова из списка готовых вариантов. Именно такие системы наиболее популярны в сети Интернет на данный момент. Для работы таких сервисов необходимо заготовить базу данных словоформ.
Для того чтобы два слова рифмовались, требуется не только совпадение окончаний слов, но также совпадение взаимного расположения ударных гласных. Таким образом, решая эту проблему, из списка выпадают заведомо ложные результаты - омографы, совпадающие по написанию, но различающиеся по звучанию (вемсти - вестим, помшло - пошлом). Для решения этой проблемы необходимо ввести словарь ударений с систематизированной базой данных, в которой слова отсортированы по позиции ударного слога.
3. Разработка технического задания
3.1 Назначение и область применения
Данная система предназначена для автоматизации процесса пополнения словарей ударений и орфоэпических словарей для последующего использования в масштабных проектах, использующих соответствующие словари для решения производственных задач.
3.2 Цели и особенности разработки системы
Разрабатываемая система предназначена для автоматизации пополнения словаря ударений. Система является полностью автоматизированной. Целью создания системы является уменьшение трудозатрат на создание и словарей ударений, предполагающей лишь незначительное вмешательство пользователя в работу системы.
3.3 Описание объектов проектирования
На входе имеется базовый словарь ударений, разбитый на текстовые документы в зависимости от положения ударного слога. На основе ритмического рисунка загружаемого стихотворного текста, формулируются гипотезы о расстановке ударений в тех словах, в которых положение ударения было неизвестно, и осуществляется пополнение словаря.
Разработка, отладка и тестирование осуществляются на языке C# в среде программирования Microsoft Visual Studio 2010. Программа обладает интуитивно понятным графическим интерфейсом и может использоваться на любых компьютерах с предустановленной операционной системой Windows.
Исследование объекта проектирования.
Разработка методики составления и анализа ритмических рисунков.
Разработка и отладка программного обеспечения
Пример использования программного обеспечения
Согласно ГОСТ 19301-79 ЕСПД "Порядок и методика испытаний, тестирования. Требования к содержанию и оформлению".
На начальном этапе необходимо избавиться от знаков пунктуации, для того чтобы иметь возможность работать непосредственно со словами. Для этого осуществляется токенизация - выделение лексем среди набора символов. В результате остаются только те элементы, которые непосредственно повлияют на дальнейшее формирование ритмического рисунка.
За основу взят метод, описанный в [14]. Суть метода заключается в использовании так называемых «граничных маркеров» (token boundaries - TB). Их расположение сигнализирует о конце текущей лексемы и о начале новой. Например, предложение:
(4) «Чудесный жребий совершился: угас великий человек.»
(5) «Чудесный TB жребий TB совершился TB : TB угас TB великий TB человек TB.»
Для составления ритмического рисунка следует исключить из текста знаки пунктуации. Таким образом, (4) примет вид:
(6) «Чудесный TB жребий TB совершился TB угас TB великий TB человек TB»
Следует разработать ряд правил - некий алгоритм расстановки граничных маркеров, позволяющий произвести определенные действия по выделению необходимых лексем. Правила разрабатываются отдельно в зависимости от целей и особенностей естественного языка. По своей структуре правила напоминают распознающий конечный автомат: на вход подается строка текста, осуществляется сдвиг и считывание каждого символа, выполняются соответствующие операции в зависимости от состояния, и на выход подается переработанная строка. Для нашего случая перечень правил будет иметь следующий вид:
Пункты 1 и 2 подразумевают игнорирование всех знаков, не являющихся буквами (цифры и прочие символы не подлежат анализу, так как мы рассматриваем ситуацию, в которой стихотворение содержит только буквы и знаки препинания). Пункт 3 осуществляет замену нескольких идущих подряд граничных маркеров на один. Такая необходимость возникает в силу того, что каждый из знаков пунктуации или пробелов, стоящих рядом, после выполнения пунктов 1 и 2 оставляет после себя граничный маркер. Так как граничный маркер предназначен для отделения лексем друг от друга, расположение граничных маркеров рядом друг с другом нерационально.
Для дальнейшей работы необходим сбор сведений, позволяющих определить основные характеристики текста:
От соотношения объема неизвестных слов к общему объему слов в стихотворении зависит релевантность будущего ритмического рисунка: если в тексте встречается слишком много неизвестных слов, ритмический рисунок может оказаться неточным, что негативно скажется на формировании эталонного ритмического рисунка.
4.3 Формирование ритмического рисунка
На данном этапе происходит перевод текста в схематическую последовательность ударных и безударных слогов. У системы уже должна быть заготовлена база знаний, содержащая сведения о гласных данного естественного языка, по которым будет происходить построение ритмического рисунка.
«=» - вероятностно безударная позиция;
«%» - вероятностно ударная позиция;
Система поочередно считывает лексемы, определяя начало и конец каждого элемента при помощи граничных маркеров, введенных в разделе 2, параллельно определяя количество гласных в текущем элементе. В зависимости от этого количества, возможно два развития событий:
Это слово не добавляется в словарь, так как постановка ударения в данном случае очевидна. Система записывает в итоговую схему «X». Это обусловлено тем, что по односложным словам нельзя строить ритмический рисунок, так как в разных строфах их позиции могут с равной вероятностью иметь сильную и слабую позиции. В противном случае последовательность из нескольких идущих подряд односложных слов будет распознаваться как последовательность ударных слогов, что негативно повлияет на качество ритмического рисунка.
Системе необходимо выяснить, имеется ли данное слово в словаре ударений. Для этого осуществляется поочередное сравнение текущего слова с каждым элементом исходного словаря.
Так как словоформы в словаре уже сгруппированы по позиции ударной гласной, можно сразу определить ударение. К примеру, слово «транзистор» будет найдено в категории 2, так как ударение падает на предпоследний слог. Однако теперь требуется знать положение ударения относительно не конца, а начала слова, так как разбор текста происходит слева направо. Следовательно, позицию ударения следует также анализировать слева направо. Это значение вычисляется при помощи следующей формулы
accentLR = vowelNumber - accentRL + 1
где vowelNumber - количество гласных в слове;
accentRL - ударная позиция, отсчитываемая справа налево.
Таким образом, получаем функцию с двумя параметрами:
Где v - количество гласных в слове;
a - ударная позиция, отсчитываемая слева направо.
Происходит анализ слова по гласным от 1 до v. В случае, когда v = a, в ритмический рисунок записывается «/», означающий ударный слог. В случае, когда v ? a, записывается «-», означающий безударный слог. Например, слово «компьютер» будет иметь вид «- / -».
В схему записывается «?» столько раз, сколько в текущем слове содержится гласных. Например, слово «процессор» будет записано как «? ? ?».
Если встречается пустая строка, означающая новую строфу, в ритмический рисунок также записывается пустая строка.
В результате этой процедуры получаем готовый ритмический рисунок стихотворения.
На данном этапе происходит анализ строф для выявления наиболее часто встречаемых фрагментов. Это необходимо для последующего построения эталонного ритмического рисунка. Суть сбора сведений сводится к подсчету количества нахождений каждого из двух элементов («-» и «/») ритмического рисунка в каждой из позиций. Прочие элементы («X» и «?») при разборе игнорируются системой, так как такие элементы не помогут в построении качественного эталонного ритмического рисунка.
Для оптимальной организации учета данных вводится матрица:
Где А = {«-», «/»} - алфавит ритмического рисунка (количество строк матрицы);
e - количество элементов в строфе ритмического рисунка (количество столбцов матрицы);
элементы матрицы - счетчики количества вхождений соответствующего элемента ритмического рисунка в соответствующей позиции.
Заполнение матрицы осуществляется во время разбора строк каждой строфы. Конец строфы - пустая строка, сигнализирует о том, что нумерация строк начинается с начала, после чего осуществляется разбор очередной строфы. В результате анализа всех строф получаем готовую таблицу с необходимыми для формирования эталонного ритмического рисунка данными.
4.5 Формирование эталонного ритмического рисунка
Система готова к созданию эталонного ритмического рисунка. На основе матрицы (9), система приступает к построению гипотез. В зависимости от соотношения значений столбца, относящихся к одному кортежу, возможны следующие ситуации:
· Если элемент a встречается более одного раза, а элемент b не встретился ни одного раза, в эталон записывается элемент a;
· Если элемент a встречается более чем в 4 раза чаще, чем элемент b, в эталон записывается элемент a;
· Если элемент a встречается менее чем в 4 раза чаще, чем элемент b, в эталон записывается элемент a', означающий то, что в данной позиции наиболее вероятно расположение элемента a, чем элемента b («=» для элемента «-» и «%» для элемента «/»);
· Если элемент a встречается столько же раз, сколько элемент b, в эталон записывается знак неопределенности - «X»;
В результате получаем эталонный ритмический рисунок.
4.6 Расстановка ударений в неизвестных словах и занесение слов в словарь
Система берет для анализа исходный ритмический рисунок. В нем она находит строфы, в которых есть неизвестные слова по наличию в строфе «?» элементов. После этого осуществляется параллельное считывание слов стихотворения и элементов исходного ритмического рисунка (гласная в стихотворении = знак ударности/безударности в ритмическом рисунке). По позиции «?» элемента в исходном ритмическом рисунке система находит элемент эталонного ритмического рисунка, расположенного в аналогичной позиции и пошагово заменяет элементы исходного ритмического рисунка элементами эталона. Например, неизвестное слово «картина», записанное в исходном ритмическом рисунке как «? ? ?», должно определиться как «- / -». По полученному ритмическому рисунку система сможет автономно решить, в какую категорию словаря ударений следует добавить данное слово.
Для этого снова вводится функция (8). Она берет значения своих параметров на основе новой ритмической схемы слова. Для функции слова «клавиатура» параметр v будет равен 5, а параметр a - 4. Далее используется модифицированная формула (7) для определения категории словаря, которую следует дополнить данным словом
(10) accentRL = vowelNumber - accentLR + 1
Полученное значение представляет собой ссылку на соответствующую категорию словаря. Так слово «клавиатура» будет добавлено в группу №2 (предпоследняя ударная гласная).
Если исходному ритмическому рисунку слова соответствует эталонный ритмический рисунок, у которого имеются неоднозначные или вероятностно ударные/безударные позиции из-за недостатка исходных данных, система передает контроль пользователю для ручного указания позиции ударной гласной. Таким образом, если система не смогла сформулировать однозначную гипотезу постановки ударения в слове «клавиатура» и ритмический рисунок представляет собой, например, «- - - % -», программа останавливает свою работу и ждет команды пользователя. Введенный пользователем результат сохраняется, и по нему происходит описанное выше добавление слова в словарь.
Данная процедура повторяется для всех неизвестных слов в стихотворении.
Последовательность выполнения программы можно представить в виде следующей схемы:

Технология программирования - совокупность методов и средств, используемых в процессе разработки ПО. Технология программирования представляет собой набор технологических инструкций, включающих в себя:
· указание последовательности выполнения технологических операций;
· перечисление условий, при которых выполняется та или иная операция;
· описания самих операций, где для каждой операции определены исходные данные, результаты, а также инструкции, нормативы, стандарты, критерии и методы оценки и т. д.
Кроме набора операций и их последовательности, технология также определяет способ описания проектируемой системы. Для разработки системы, описанной в данной работе, была выбрана технология объектно-ориентированного программирования (ООП). В данном разделе, на основе сведений, взятых из [15] и [16], приводится описание данной технологии.
С момента изобретения компьютера методологии программирования радикально изменились. В частности на это повлияла возрастающая сложность программ. К примеру, программы для первых компьютеров представляли собой последовательности машинных команд, записанных в двоичном коде с помощью переключения специальных тумблеров. Такой подход оставался вполне работоспособным до тех пор, пока длина программ не стала превышать несколько сотен строк. По мере увеличения размера программ возникла необходимость в новом способе программирования. В результате появился язык ассемблера, позволяющий закодировать машинные инструкции с помощью символов в более понятный для человека вид. Размер программ продолжал увеличиваться, поэтому программистам понадобился еще более мощный язык программирования, позволяющий работать с гораздо более сложными структурами и алгоритмами. Первым широко известным языком программирования оказался Fortran, с которым связывают начало активного развития и применения языков высокого уровня. Несмотря на это, Fortran трудно назвать ясным и понятным языком, позволяющим создавать простые и наглядные программы.
Шестидесятые годы дали толчок развития структурного программирования. Основными средствами его воплощения стали языки C и Pascal. Структурные языки программирования позволили легко создавать достаточно сложные программы. Кроме того, они характеризуются поддержкой изолированных подпрограмм, локальных переменных и богатым выбором управляющих конструкций. Несмотря на то, что структурные языки представляют собой мощное средство, они не позволяют создавать очень крупные проекты.
Каждый новый метод программирования позволял создавать все более сложные и крупные программы, улучшая предыдущие подходы. До изобретения объектно-ориентированного программирования многие проекты достигали границ, за которыми структурный подход уже не работал. Именно для преодоления этих препятствий была создана объектно-ориентированная парадигма.
Объектно-ориентированное программирование или ООП - методология программирования, основанная на представлении программы в виде совокупности объектов. Объектно-ориентированное программирование унаследовало лучшие идеи структурного программирования и объединило их с новыми понятиями. В результате возник новый способ организации программ. В основу объектно-ориентированного подхода, в отличие от структурного подхода, положены данные, а не код, а базовый принцип формулируются так: «данные контролируют доступ к коду». В объектно-ориентированных языках определяются данные и процедуры, осуществляющие к ним доступ.
Объектно-ориентированное программирование является, вероятно, самой распространенной в современной проектной практике парадигмой программирования, которая поддерживается большинством современных языков программирования. При этом реализации концепций и механизмов, составляющих основание ООП, могут отличаться в разных языках. Поэтому изучение ООП предполагает не столько изучение какого-либо конкретного языка программирования, сколько лежащих в его основе концепций и механизмов. К самым важным вещам, которые должен знать профессиональный программный инженер, относится набор фундаментальных концепций, которые из раза в раз используются в его работе. С одной стороны, такой подход к изучению программирования позволяет лучше разобраться в проблемах, возникающих перед разработчиками программного обеспечения, с другой стороны, позволяет лучше понять причины появления и успешного развития различных языков и технологий программирования.
Центральным элементом ООП является абстракция. Данные с помощью абстракции преобразуются в объекты, а последовательность обработки этих данных превращается в набор сообщений, передаваемых между этими объектами. Каждый из объектов имеет свое собственное уникальное поведение. С объектами можно обращаться как с конкретными сущностями, которые реагируют на сообщения, приказывающие им выполнить какие-то действия. Абстрагирование - метод решения задачи, при котором объекты разного рода объединяются общим понятием, а затем сгруппированные сущности рассматриваются как элементы единой категории. Абстрагирование позволяет отделить логический смысл фрагмента программы от проблемы его реализации, разделив внешнее описание (интерфейс) объекта и его внутреннюю организацию (реализацию).
Для поддержки объектно-ориентированного программирования язык должен обладать тремя фундаментальными свойствами: инкапсуляцией, полиморфизмом и наследованием.
Инкапсуляция - механизм, связывающий воедино код и данные, которыми он манипулирует, а также обеспечивающий их защиту от внешнего вмешательства и неправильного использования. В объектно-ориентированном языке код и данные можно погружать в некий «черный ящик», который называется объектом. Иначе говоря, объект - это средство инкапсуляции.
Внутри объекта код и данные могут быть закрытыми или открытыми. Закрытый код или данные объекта доступны только из другой части этого же объекта. Иначе говоря, к закрытой части кода или данных невозможно обратиться извне. Если код или данные является открытыми, они доступны из любой части программы. Как правило, открытая часть кода обеспечивает управляемое взаимодействие (интерфейс) с закрытыми элементами объекта.
Полиморфизм - свойство, позволяющее единообразно ссылаться на объекты различных классов. Полиморфизм позволяет упростить программу, создавая один интерфейс для выполнения разных действий. Ответственность за выбор конкретного метода в возникшей ситуации перекладывается на компилятор. Программисту не обязательно вмешиваться в этот процесс. Нужно лишь помнить правила и правильно применять общий интерфейс. Полиморфизм делает классы еще удобнее и облегчает расширение и поддержку программ, основанных на них.
Наследование - это свойство системы, позволяющее описать новый класс на основе уже существующего с частично или полностью заимствующейся функциональностью. Класс, от которого производится наследование, называется базовым, родительским или суперклассом. Новый класс - п
Метод автоматизированного пополнения словаря ударений дипломная работа. Программирование, компьютеры и кибернетика.
Сочинение по теме Поэт и поэзия в лирике А. Ахматовой
Сила Характера Сочинение 9.3 Аргументы
Доклад по теме Древний город Серпухов
Курсовая работа по теме Фізичні методи дослідження полімерів, їх електричні випробування
Реферат Жизнь В Одиночестве
Контрольная Работа Алгебра Тема Уравнение 7 В
Доклад по теме Бесконечность в философии
Сочинение Образ Катерины В Русской Критике
Курсовая Работа Введение Актуальность Темы
Экономическая Устойчивость Молодежных Организаций Реферат
Реферат: Течения ислама
Реферат по теме Харчові добавки
Курсовая работа: Анализ кадров предприятия на примере кафе "Гора". Скачать бесплатно и без регистрации
Реферат На Тему Воспаление
Контрольная работа: Польові і камеральні роботи при трасуванні автомобільних доріг
Сочинение На Тему Сохранить
Литосфера и рельеф Земли
Реферат: Anabolic Steroids Essay Research Paper Are Anabolic
Контрольная Работа На Тему Методика Преподавания Литературы Борзякова
Сочинения По Картине Три
Розвиток маркетингових послуг на матеріалах ПАТ "Полтаваобленерго" - Маркетинг, реклама и торговля курсовая работа
Граждане как субъекты административного права - Государство и право контрольная работа
Финансовый менеджмент - Менеджмент и трудовые отношения презентация


Report Page