Язык Java
Категория реферата: Рефераты по информатике, программированию
Теги реферата: в контакте сообщения, контрольная по алгебре
Добавил(а) на сайт: Efimij.
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 | Следующая страница реферата
Результат выполнения этой программы таков:
С: > java ContinueDemo
0 1
2 3
4 5
5 7
8 9
Глава 6. Java, как объектно-ориентированный язык.
Система Java создавалась объектно-ориентированной с самого начала.
Объектно-ориентированная парадигма наиболее удобна при создании
программного обеспечения типа клиент-сервер, а также для организации
распределенных вычислений. Одна из черт, присущих объектам, заключается в
том, что объекты обычно переживают процедуру, их создающую. Они затем могут
перемещаться по сети, храниться в базах данных и т.д. Идейными наследниками
Java являются такие языки, как C++, Eiffel, Smalltalk и Objective C. За
исключением примитивных типов данных, практически все в этом языке является
объектом.
Опыт показывает, что отсутствие стандартных базовых библиотек для языка
С++ чрезвычайно затрудняет работу с ним. В силу того, что любое
нетривиальное приложение требует наличия некоторого набора базовых классов, разработчикам приходится пользоваться различными несовместимыми между собой
библиотеками или писать свой собственный вариант такого набора. Все это
затрудняет как разработку, так и дальнейшую поддержку приложений, затрудняет стыковку приложений, написанных разными людьми.
6.1.Основные требования к объектно-ориентированной системе
4. инкапсуляция -- сокрытие реализации за абстрактным интерфейсом
5. полиморфизм -- одно и то же сообщение, посланное различным объектам, приводит к выполнению разных операций
6. наследование -- новые классы могут наследовать данные и функциональность уже существующих классов
7. динамическое связывание -- новые классы могут появляться в системе откуда угодно, в том числе и из сети. Необходимо иметь возможность динамически включать их в систему.
6.2. Базовая система классов Java
Полная система Java включает в себя готовый набор библиотек, часто
используемыми из которых являются следующие пакеты:
8. java.lang -- базовый набор типов, отраженных в самом языке. Этот пакет обязательно входит в состав любого приложения. Содержит описания классов
Object и Class, а также поддержку многопотоковости, исключительных ситуаций, оболочку для базовых типов, а также некоторые фундаментальные классы.
. java.io -- потоки и файлы произвольного доступа. Аналог библиотеки стандартного ввода-вывода системы UNIX. В библиотеке классов java.io собраны классы, имеющие отношение к вводу и выводу данных через потоки. С использованием этих классов можно работать не только с потоками байт, но также и с потоками данных других типов, например числами int или текстовыми строками.
. java.net -- поддержка сетевого доступа (sockets, telnet, URL). Язык программирования Java разрабатывался в предположении, что им будут пользоваться для создания сетевых приложений. Поэтому было бы странно, если бы в составе среды разработки приложений Java не поставлялась библиотека классов для работы в сети. Библиотека классов java.net предназначена как раз для этого. Она содержит классы, с помощью которых можно работать с универсальными сетевыми адресами URL, передавать данные с использованием сокетов TCP и UDP, выполнять различные операции с адресами IP. Эта библиотека содержит также классы для выполнения преобразований двоичных данных в текстовый формат, что часто бывает необходимо.
. java.util -- классы-контейнеры (Dictionary, HashTable, Stack) и некоторые другие утилиты. Кодирование и декодирование. Классы Date и Time.
Библиотека классов java.util очень полезна при составлении приложений, потому что в ней имеются классы для создания таких структур, как динамические массивы, стеки и словари. Есть классы для работы с генератором псевдослучайных чисел, для разбора строк на составляющие элементы (токены), для работы с календарной датой и временем.
. java.awt -- AWT - это сокращение от Abstract Window Toolkit
(инструментарий для работы с абстрактными окнами). Содержит базовые компоненты интерфейса, такие как события, цвета, фонты. Для создания пользовательского интерфейса аплеты Java могут и должны использовать библиотеку классов java.awt. Классы, входящие в состав библиотеки java.awt, предоставляют возможность создания пользовательского интерфейса способом, не зависящим от платформы, на которой выполняется апплет Java.
Можно создавать обычные окна и диалоговые панели, кнопки, переключатели, списки, меню, полосы просмотра, однострочные и многострочные поля для ввода текстовой информации.
. java.applet -- библиотека классов java.applet инкапсулирует поведение апплетов Java. При создании апплетов, требуется класс Applet, расположенный в этой библиотеке классов. Дополнительно в библиотеке классов java.applet определены интерфейсы для подключения апплетов к содержащим их документам и классы для проигрывания звуковых фрагментов.
6.3. Объектная модель Java
Классы
Класс есть языковая конструкция, определяющая поля данных объектов данного класса (instance variables) и их поведение (methods). Практически класс в Java сам по себе не является объектом. Это лишь шаблон, который определяет, из каких частей будет состоять объект, созданный с помощью этого класса, и как он будет себя вести.
Простейший пример описания класса
class Point extends Object {
public double x; public double y;
}
Создание объекта определенного класса
Создать объект описанного выше класса можно декларацией
Point myPoint; // объявление переменной типа Point myPoint = new Point(); // инициализация, а обратиться к полям данных следующим образом myPoint.x = 10.0; myPoint.y = 25.7;
Конструкторы
При объявлении класса возможно указать методы специального вида, называемые конструкторами и предназначенные для инициализации созданного
объекта. Имя этих методов должно совпадать с именем класса, они могут иметь
какое-то количество аргументов, например:
class Point extends Object {
Point() {
x = 0.0;
y = 0.0;
}
Point(double x, double y) {
this.x = x;
this.y = y;
}
public double x;
public double y;
}
а использованы они могут быть следующим образом
Point a;
Point b;
a = new Point();
b = new Point(1.0, 2.0);
Имя this в определении конструктора с аргументами используется для обозначения самого объекта, в методе которого мы находимся, в тех случаях, когда ссылка на этот объект не подразумевается неявно.
Методы и посылка сообщений
Если один объект в программе заставляет другой выполнить какую-то
операцию, то принято говорить, что он посылает сообщение другому объекту.
Например, можно переопределить класс следующим образом:
Pclass Point extends Object { private double x; private double y; public void setX(double x) { this.x = x;
} public void setY(double y) { this.y = y;
}
...
}
Поля x и y теперь недоступны извне класса, но для изменения их состояния предусмотреys специальные методы setX и setY.
Финализаторы
Специальное имя finalize зарезервировано для метода, который будет вызван сборщиком мусора перед тем, как объект будет уничтожен. В силу того, что Java освобождает разработчиков от необходимости самим следить за освобождением памяти, занимаемой объектами, необходимость в таких методах обычно возникает лишь тогда, когда надо освободить какие-то внешние ресурсы, например, закрыть открытый файл:
protected void finalize() {
try {
file.close();
} catch (Exception e) {
}
}
Рекомендуем скачать другие рефераты по теме: оценка реферата, диплом анализ.
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 | Следующая страница реферата