Автор работы: Пользователь скрыл имя, 23 Января 2012 в 13:21, курсовая работа
Сегодня создание программного обеспечения представляет собой чрезвычайно тяжелое занятие. Трудности связаны с разнообразием архитектур машин, операционных систем, графических оболочек и т. д. Стремительный рост технологий, связанных с сетью Internet, дополнительно усложняет эту задачу. К сети Internet подключены компьютеры самых разных типов - IBM PC, Macintosh, рабочие станции Sun и другие. Даже в рамках IBM-совместимых компьютеров, существует несколько платформ, например, MS Windows 9x/Me/XP/NT/2000, OS/2, Solaris, различные разновидности операционной системы UNIX с графической оболочкой XWindows и т. д. Все эти системы образуют единую сеть, которая должна работать как одно целое, обеспечивая при этом высокий уровень безопасности информации. Под влиянием указанных факторов резко возрастает уровень требований, предъявляемый к программному обеспечению,
Введение .....................................................................................................................4
Глава 1. Процесс создания работающей Java-программы ..............................6
1.1. Типы Java программ .................................................................................6
1.2. Этапы подготовки исполняемой программы. Безопасность ................7
Глава 2. Введение в Java ......................................................................................12
2.1. Версии языка Java. Средства разработки .............................................12
2.2. Примеры создания автономного Java приложения и апплета ...........12
2.2.1. Создание Java-приложения “HelloJava” ........................................12
2.2.2. Создание Java-апплета “HelloJava” ...............................................15
Глава 3. Лексические основы языка ..................................................................17
Глава 4. Типы данных и операторы языка ......................................................20
4.1. Простые типы ..........................................................................................20
4.2. Операторы ...............................................................................................22
Глава 5. Управление выполнением программы .............................................24
Глава 6. Java, как объектно-ориентированный язык ....................................28
6.1.Основные требования к объектно-ориентированной системе ............28
6.2. Базовая система классов Java ................................................................29
6.3. Объектная модель Java ...........................................................................30
Заключение .............................................................................................................36
Список литературы ..............................................................................
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) {
}
}
Производные классы
Наследование классов позволяет создавать новые типы объектов, эффективно использующие функциональность уже существующих типов. Новый тип обычно называется производным классом, а тот, чьи свойства наследуются -- базовым классом.
Например, можно описать новый класс, соответствующий координатам точки в трехмерном пространстве, на основе уже описанного класса для точки на плоскости.
class ThreePoint extends Point {
protected double z;
ThreePoint() {
super();
z = 0.0;
}
ThreePoint(double x, double y, double z) {
super(x, y);
this.z = z;
}
}
Здесь
была добавлена новая координату
z, а поля x и y (и методы доступа к ним)
унаследовали от класса Point.
Контроль доступа
Контроль доступа к данным и методам объекта в Java несколько отличается от С++. Помимо трех уровней доступа, имеющихся в С++ (public, private, protected) имеется четвертый, находящийся где-то между уровнями public и protected. Он не имеет имени и используется по умолчанию, когда явно не указан другой уровень. Поля этого типа доступны внутри только одного программного пакета. Пакет представляет группу классов, объединенных в одну логическую группу. Например, классы, описывающие точку и прямоугольник в графическом пакете, могут иметь прямой доступ к полям данных друг друга, запрещенный обычно для остального мира.
Также
следует отметить, что контроль доступа
в C++ помогает программисту лишь при построении
программы. Различия между полями, помеченными
public и private, отсутствуют в выполняемом
модуле, созданном с использованием этого
языка. В Java контроль доступа реален, т.к.
он осуществляется не только при компиляции,
но и непосредственно перед запуском кодов
на выполнение виртуальной машиной.
Переменные и методы класса
Как и С++ язык Java позволяет использовать переменные и методы, принадлежащие классу целиком. Для определения их используется ключевое слово static. Естественно, что методы самого класса не могут оперировать данными и методами объекта класса, т.к. они не относятся ни к какому определенному объекту. Например, версия реализации класса Rectangle может быть задана следующим образом:
class Rectangle extends Object {
static final int version = 2 ;
static final int revision = 0 ;
}
Ключевое
слово final означает, что значение поля
окончательное и изменению не
подлежит (это константа).
Абстрактные методы
Абстрактные методы -- это методы, для которых в данном классе не определена их реализация. Мы указываем лишь на необходимость наличия методов с данным протоколом. Конкретная реализация должна быть осуществлена классами-наследниками. В то же время остальная, "неабстрактная" часть класса может содержать конкретную информацию, которая может быть использована производными классами.
Например:
abstract class Graphical extends
Object
{
protected Point lowerLeft;
protected Point upperRight;
...
public void setPosition(Point ll, Point ur)
{ lowerLeft = ll;
upperRight = ur;
}
abstract void drawMyself();
}
class Rectangle extends Graphical
{ void drawMyself()
{ ....
}
}
Здесь был описан класс Graphical. В нем объявлено свойство всех графических элементов иметь какое-то положение на плоскости. Каждый элемент обязан также иметь метод для рисования самого себя, однако никакого метода рисования по умолчанию быть не может. Класс Rectangle, представляющий собой конкретную реализацию для типа Graphical, реализует также этот метода для объекта прямоугольной формы.
Класс,
содержащий хотя бы один абстрактный
метод, должен быть объявлен как абстрактный.
Создание экземпляров такого класса невозможно.
Заключение
В процессе написания данной работы были выяснены следующие свойства языка Java:
В
процессе написания данной курсовой
работы была так же создана программа,
которая хорошо иллюстрирует многие достоинства
данной технологии и показывает её перспективность.
Созданная программа может использоваться
на различных Web сайтах для динамической
загрузки и отображения информации. Текст
программы находится в приложении.
Список
литературы
www.javable.com
www.sun.ru
www.sun.com
www.infocity.kiev.ua