Объектно-ориентированное проектирование
Метод объектно-ориентированного проектирования основывается на:
· модели построения системы как совокупности объектов абстрактного типа данных;
· модульной структуре программ;
· нисходящем проектировании, используемом при выделении объектов.
Основные понятия объектно-ориентированного проектирования следующие: объект, свойство, метод, событие и класс.
Объект — совокупность свойств (параметров) определенных сущностей и методов их обработки (программных средств). Объект содержит инструкции, определяющие действия, которые может выполнять объект, и обрабатываемые данные.
Свойство — характеристика объекта. Все объекты наделены определенными свойствами, которые в совокупности выделяют объект из множества других объектов. Объект обладает качественной определенностью. Например, объект можно представить перечислением присущих ему свойств. Свойства объектов различных классов могут «пересекаться», т.е. возможны объекты, обладающие одинаковыми свойствами. Одним из свойств объекта являются метод его обработки.
Метод — программа действий над объектом или его свойствами. Метод рассматривается как программный код, связанный с определенным объектом. Объект может обладать набором заранее определенных встроенных методов обработки, либо созданных пользователем или взятых в стандартных библиотеках, которые выполняются при наступлении заранее определенных событий. По мере развития систем обработки данных создаются стандартные библиотеки методов.
Событие - изменение состояния объекта. Внешние события генерируются пользователем (выбор пункта меню, запуск макроса и т.д.) Внутренние события генерируются системой.
Класс - совокупность объектов, характеризующихся общностью применяемых методов обработки или свойств.
Операторы языков программирования
Все операторы языков программирования можно разделить на следующие категории: операторы для создания линейных, разветвляющихся и циклических программ.
Линейные операторы
Линейные операторы обычно представлены в программах операторы присваивания, которые присваивания обеспечивают занесение значений в некоторые переменные с помощью выражений. выражения определяют порядок вычисления значений.
Примеры операторов присваивания:
A=B+1
A=(C+D)/(B-A)
A+=1
B*=2
A=A+1
Большинство языков программирования содержат также операторы для чтения вводимых пользователем данных с клавиатуры, из каналов связи или из файлов. Эти операторы также изменяют значение переменных через операции присваивания.
Обычно синтаксис таких операторов выглядит как: read(file, data). В языке С вызов оператора scanf приводит к присваиванию переменной некоторого значения из стандартного файла ввода.
Операторы перехода
Оператор перехода является простейшим средством изменения линейного порядка выполнения базовых операторов, он передает управление выполнением в любое указанное место программы.
Передача управления чаще всего указывается с помощью goto — оператора перехода на оператор с заданной меткой.
В языках программирования возможны два вида оператора goto:
Безусловный goto. Если в последовательности операторов встречается оператор безусловного перехода goto, например:
goto NEXT_0P
то управление передается оператору, помеченному меткой NEXT_OP, а оператор, непосредственно следующий за оператором goto, не выполняется.
Условный goto. Если в последовательности операторов встречается оператор условного перехода goto, например:
if X > Y then goto NEXT_OP
то управление передается оператору, помеченному меткой NEXT_OP, только в случае выполнения заданного условия X > Y.
Внешний вид разрешаемых меток меняется от языка к языку.
В языке С в качестве формы более безопасного управления переходами предусмотрен оператор break. Этот оператор может размещаться внутри операторов управления while, for, switch. Оператор break передает управление оператору, непосредственно следующему за структурой управления, в которой он сам содержится. Считается, что использование оператора break не ухудшает читабельность программы.
Составные операторы
Составной оператор представляет собой последовательность операторов, которую при создании более сложных операторов можно рассматривать как единый оператор. Обычно составные операторы записывают в виде:
begin
- последовательность из нескольких операторов
end
Здесь несколько операторов помещаются между открывающей begin и закрывающей end скобками. Пример составного оператора:
begin
temp= х;
х=x* у;
у=y*temp;
end
Эти структуры рассматриваются как строительные блоки, из которых, многократно комбинируя их, мы можем создать сколь угодно большие структурированные программы. Процесс же конструирования программ из этих блоков называют структурированным (а иногда — структурным) программированием.
Условные операторы
Условные операторы – это конструкция языка программирования, обеспечивающая выполнение определённой команды (набора команд) только при условии истинности некоторого логического выражения, либо выполнение одной из нескольких команд (наборов команд) в зависимости от значения некоторого выражения.
Существуют условные операторы с одной, двумя и несколькими ветвями. Оператор с одной ветвью записывается в виде:
if условие
{команды}
Условный оператор с двумя ветвями
if условие
{команды1}
Else
{команды2}
Здесь при истинности условия выполняются команды1, при ложности— команды2. При необходимости проверить последовательно несколько условий возможно каскадирование условных операторов:
if условие1
{команды1}
else if {условие2}
{команды2}
else if условие3
{команды3}
...
else if условиеN-1}
{командыN-1
Else
{командыN}
В этом случае условия будут проверяться последовательно, и как только встретится истинное, будет выполнен соответствующий набор команд и исполнение перейдёт к команде, следующей за условным оператором. Если ни одно из условий не окажется истинным, выполняются командыN из ветви else.
Операторы выбора
Оператор выбора позволяет произвести ветвление по одному из многих вариантов. Причем каждый вариант может включать один оператор или целую группу операторов. Следовательно, оператор выбора может рассматриваться как обобщение условного оператора. Конечно, ветвление по многим направлениям можно реализовать и с помощью условных операторов, но такое решение оказывается трудным для чтения, громоздким и ненадежным. Пример оператора выбора на языке C:
switch (выражение)
{
case выражение_константа_1: оператор_1; break;
case выражение_константа п: оператор_n; break;
[default: оператор_n+1]
}
Здесь переключающее выражение и выражения-константы должны иметь целые или символьные значения.
Операторы вариантов могут быть последовательностями операторов, составными операторами или блоками, но чаще всего должны заканчиваться оператором break. Оператор break, играет роль ограниченного goto. Его выполнение приводит к выходу из оператора выбора. Если же программист по ошибке пропустит в switch-операторе оператор break, то управление передается на операторы следующего варианта.
Если переключающее выражение принимает значение, отличное от предусмотренных констант, то выполняется оператор n+1 default-варианта. Вариант default в операторе switch может отсутствовать. Если ни одна константа не совпала со значением выражения и вариант default отсутствует, то не выполняются никакие действия.
Оператор switch языка C# отличается от оператора выбора для языка С по двум пунктам. Во-первых, в языке C# запрещается неявное выполнение более одного варианта ветвления. Каждый вариант должен заканчиваться явным оператором безусловного перехода: либо оператором break, либо оператором goto, который может передать управление одному из имеющихся вариантов (или куда-нибудь еще). Во-вторых, переключающее выражение и константы могут быть строками языка С#.
Рассмотрим пример, где число классифицируется по знаку и значению:
switch (number)
{
case -1:
Negatives++;
break;
case 0:
Zeros++;
goto case 1;
case 1:
Positives++;
default:
Console.WriteLine("Error in switch \n");
}
Не нашли, что искали? Воспользуйтесь поиском по сайту:
©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.
|