Главная » Java, Web » Объектно-ориентированное программирование Java

0

Конкретная семантика прикладных систем может быть выражена с помощью различных абстрактных синтаксисов (АС], …, АС„), каждый из которых использует одинаковые или различные синтаксисы передачи (СП], …, СПЯ).

ЗКР. "Сервис открытых ИБС"

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

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

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

Рассмотрим гипотетическую программу для рисования линий, прямоугольников, овалов, кривых. Пусть у нас будет пять классов объектов, по одному классу для каждого типа объектов. Все пять классов имеют тесную взаимосвязь, они могут быть нарисованы. Все рисуемые объекты распадаются на объекты, определяемые двумя точками, и объекты, задаваемые по нескольким точкам (необязательно по двум) — рис. П4.3.

Объекты DrawableObj ect, MultipointObject, TwoPointObject образуют классы в программе. Объекты MultipointObject и TwoPointObj ect — это подклассы класса DrawabieObject. Класс Line — подкласс класса

TwoPointObject И класса DrawabieObject.

Подкласс наследует свойства родительского класса. Подкласс может иметь свойства, которые не определены в суперклассе (родительском классе), подкласс может переопределять свойства и методы суперкласса (изменять методы). Наследование предоставляет мощные средства при создании программ. Класс можно использовать много раз. Класс можно использовать для создания подкласса на основе исходного класса.

Современный интерфейс пользователя

Первые персональные компьютеры использовали режим командной строки для ввода выполняемых инструкций и последующего их исполнения процессором. Таков интерфейс командной строки. Современные компьютеры используют графический интерфейс пользователя (GUI, Graphical User Interface). Пользователь имеет возможность работать с клавиатурой и мышью на полноценном графическом экране компьютера. В языке Java для создания элементов графического интерфейса пользователя используется набор классов пакета AWT (рис. П4.4).

Рис. П4.4. Классы для работы с графическими компонентами

Интернет и сетевые протоколы

Компьютеры могут быть соединены друг с другом, образуя сети. Компьютеры одной сети могут общаться друг с другом, обмениваясь данными и файлами, посылая и получая сообщения. Компьютеры, объединенные в одну сеть, могут работать над одним большим заданием совместно, распределяя собственные ресурсы. Миллионы компьютеров объединены в одну большую сеть, называемую Интернет. Чтобы позволить компьютерам общаться друг с другом, разработано множество протоколов, т. е. правил, по которым компьютеры общаются друг с другом. Основным протоколом, используемым в Интернете, является протокол IP (интернет-протокол, Internet Protocol). Он определяет то, как данные передаются физически от одного компьютера к другому. Кроме этого используется протокол TCP (протокол управления передачей, Transmission Control Protocol), при помощи этого протокола происходит контроль за передаваемыми данными так, чтобы мы могли быть уверены, что переданные данные получены по назначению. Эти два протокола, обозначаемые как TCP/IP, служат основой для установления соединений, передачи информации, файлов, электронной почты и т. п. Вся связь через Интернет осуществляется путем передачи пакетов. Пакет состоит из данных и пересылается от одного компьютера к другому, в пакете помимо данных находится информация об IP-адресах отправителя и получателя. Можно представить себе IP-пакет в виде конверта, на котором написан адрес. Конверт также содержит обратный адрес, т. е. адрес отправителя. Пакет может содержать в себе ограниченный объем данных. Большие сообщения разбиваются и упаковываются в несколько пакетов. Затем пакеты посылаются самостоятельно по сети (при этом физически они могут пройти разные пути от отправителя к получателю), а получатель собирает из пакетов исходное сообщение.

Каждый компьютер в сети Интернет имеет собственный IP-адрес, который однозначно идентифицирует этот компьютер во всемирной сети. Компьютер может послать данные (пакеты) другому компьютеру в сети только при том условии, что он знает IP-адрес компьютера-партнера. IP-адрес служит в качестве адреса местоназначения IP-пакета. Поскольку людям удобнее использовать имена, а интернет-адрес IP — это набор чисел, то существует способ идентифицировать комьютеры при помощи доменных имен. Например, доменное имя может быть www.yahoo.com.

Протокол TCP/IP используется для передачи данных различных типов. Среди них наиболее известные службы такие, как удаленный терминальный доступ, электронная почта, FTP (File Transfer Protocol, протокол передачи файлов), WWW.

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

Электронная почта предоставляет возможности обмениваться сообщениями. Почтовое сообщение посылается отдельным пользователем другому пользователю. Каждый пользователь электронной почты идентифицируется по электронному адресу в формате "usemame@domain.name". Псята передается, как правило, с использованием протокола SMTP (Simple Mail Transfer Protocol — простой протокол передачи почты).

World Wide Web (WWW) — всемирная паутина, которая главным образом состоит из Web-станичек, содержащих ссылки. Эти странички просматриваются с использованием специальных программ-браузеров. Для передачи страничек используется протокол HTTP (HyperText Transfer Protocol) — протокол передачи гипертекста. При помощи этого протокола общаются Web- серверы с браузерами.

Контрольные вопросы

1.     Что такое процессор в компьютере, каково его назначение?

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

2.     Что такое асинхронные события? Приведите примеры.

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

3.     Каковы различия между компилятором и транслятором?

Ответ. И компилятор, и транслятор выполняют похожие функции. Они переводят программу, написанную на языке программирования, на машинный язык. Компилятор производит весь перевод сразу, создавая законченный самостоятельный фрагмент команд на машинном языке. Эта программа, написанная на машинном языке, может быть выполнена компьютером. Транслятор переводит последовательно по одной инструкции программы, переходя от одной инструкции к другой по мере выполнения программы. После того как очередная инструкция будет переведена на машинный язык, она будет немедленно выполнена и интерпертатор перейдет к другой команде языка программирования. В языке Java используется компилятор для трансляции программы в Java-код, который является машинным языком для воображаемой виртуальной машины Java.

4.     В чем различия между языками высокого уровня и машинным языком?

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

5.     Когда у вас есть исходный код на языке Java и вы хотите выполнить эту программу, то вам понадобятся и компилятор, и интерпретатор. Что делает компилятор Java? Зачем нужен интерпретатор Java?

Ответ. Компилятор Java переводит Java-nporpaMMy в Java-код. Несмотря на то, что Java-код является машинным языком, в действительности не существует компьютера, который бы использовал этот язык в качестве своего машинного языка. Интерпретатор Java используется для выполнения Java-кол а на конкретном компьютере.

6.    Что такое функция (подпрограмма)?

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

7.    Java — это объектно-ориентированный язык программирования. Что такое объект?

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

8.    Что такое переменная? (Можно выделить четыре идеи, имеющие отношение к понятию переменной. Постарайтесь вспомнить все четыре аспекта. Подсказка — один из аспектов связан с именем переменной.)

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

9.     Java — платформенно-независимый язык. Что это значит?

Ответ. Программа Java может быть скомпилирована в Java-код. Этот Java-код может быть выполнен на любом компьютере, если на нем установлена виртуальная машина Java. Программы, созданные на других языках, должны быть скомпилированы вновь для каждого нового типа машины.

10.   Что такое Интернет? Приведите пример, как его можно использовать. (Какие службы существуют в Интернете?)

Ответ. Интернет — это сеть, объединяющая в себе миллионы компьютеров по всему миру. Компьютеры, объединенные этой сетью, могут общаться друг с другом. Для общения используется ряд служб, например, Telnet, FTP, WWW.

Источник: Будилов В. А. Интернет-программирование на Java. — СПб.: БХВ-Петербург, 2003. — 704 е.: ил.

По теме:

  • Комментарии