Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции / lect22.doc
Скачиваний:
10
Добавлен:
20.05.2014
Размер:
65.54 Кб
Скачать

*** 6.12.04

Лекция 22 Введение в языки javAи с#

22.1 Понятие о языке Java

Основные идеи языка Java (Джава) являются сплавом достижений языков

Simula, SmallTalk, C, C++. Разработан он на фирме Sun небольшой группой

сотрудников в 1990 - 1995 гг. Языки Си и Си++ являются мощными

профессиональными языками. Зачем же нужен еще один язык - Java?

Ответ на этот вопрос можно сформулировать очень кратко: для защищенности

и переносимости программ в Интернете. Рассмотрим эти свойства.

ПК пользователя и сервер в Интернете обмениваются данными и программами.

Загружаемые с сервера программы опасны из-за возможных диверсий, и эта

опасность остается даже после проверки программы на вирус перед

исполнением. В среде Java - совместимого браузера риск умышленного

искажения программ или заражения системы вирусом устраняется полностью.

Теперь о переносимости, т.е. мобильности, программ. В Интернете работают

ПК Мicrosoft, Макинтош и рабочие станции с ОС Unix в пропорции

примерно 60 : 25 : 15. У каждой из этих платформ имеются свои средства для

работы и, кроме того, велико разнообразие ОС и моделей ПК. Обычно ситуация

такова, что при изменении платформы или даже ПК программа перестает работать.

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

Интернету. Создатели Java ввели в язык и среду выполнения жесткие требования,

которые позволяют запускать программу в любых условиях, т.е.

на любых ПК с любыми ОС. Другими словами, о переносимости программ

заботится сама Java.

Java является интерпретируемым языком. Это значит, что получаемый

после компиляции код программы (байт-код) передается для исполнения

интерпретатору Java конкретного ПК. Хотя реализации системы выполнения

Java для разных платформ могут иметь различия, но все они интерпретируют

один и тот же байт-код Java. В настоящее время ведутся работы по замене

интерпретатора Java на компилятор, что ускорит работу программ. Язык Java

столь же важен для Интернета, как язык Си++ для системного

программирования. Оба языка используют аналогичный синтаксис и

поддерживают объектно-ориентированное программирование.

Переходить с Си++ на язык Java легко, но различия существенные есть.

Java не разрешает выполнять операции с указателями, в нём отсутствуют

команды препроцессора, оператор goto, глобальные переменные,

автоматическое преобразование типов, структуры (struct),

не поддерживается полиморфизм, т.е. перегрузка операций и функций,

нет множественного наследования. Есть и другие упрощения, но есть и

дополнения, например, можно создавать пакеты классов.

Отметим, что тип char в Java описывает 16-битные символы Unicode.

Кратко рассмотрим кодировку Unicode. Она является объединением нескольких

десятков различных кодировок и позволяет использовать, кроме латинских,

символы других языков, например, кириллицы, а также греческие, арабские

буквы. Эта возможность обусловлена тем, что два байта позволяют хранить

коды 65537 символов. Используя кодировку Unicode, можно создавать

приложения с текстами на различных языках , что важно для будущего. Для

сравнения напомним, что 7-битная кодировка ASCII включает только 128 символов,

а ее 8-битное расширение - кодировка ISO - состоит из 256 символов.

Любая Java-программа состоит из последовательности классов, т.е.

первым словом любой программы будет слово class. Класс - это

базовый элемент объектно-ориентированного программирования (ООП).

Классов в программе может быть любое количество и каждый является

как бы вспомогательной "программой на С++".

Класс может содержать любое количество функций и описаний данных.

В терминах ООП это соответствует инкапсуляции. Как и отдельная функция,

класс имеет имя и все его операторы после заголовка заключаются в фигурные

скобки, см. рис. 22.1.

При записи большинства операторов используются правила языка Си++.

class A { . . . . . . .}

class B { . . . . есть main. . .. . . }

class C { . . . . . . .}

Рис. 22.1 Java-программа - это система классов

Основная функция main также находится внутри одного из классов.

Может присутствовать даже несколько классов с функцией main

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

Рассмотрим пример программы, состоящей из двух классов. Первый класс

объявляет координаты точки, второй класс содержит только метод main для

работы с точками.

/ / / / / ***** Файл Tchk2.java * * * * Java- программа 1

class Tchk { int x, y; } / / это первый класс

class Tchk2 { / / начало второго класса

public static void main (String args[ ] ) {

Tchk p1 = new Tchk( ); Tchk p2 = new Tchk( );

p1. x = 5; p1. y = 9 ; p2. x = 91; p2. y = 99 ;

System.out. println ( " x1 =" + p1.x + " y1 =" + p1.y);

System.out. println ( " x2 =" + p2.x + " y2 =" + p2.y); }

} / / конец второго класса

Ради простоты программы первый класс содержит только данные, а второй

состоит из одного метода main. Скобки после имени класса в операторе new нужны

для параметров. В отличие от языка С++, где оператор new работает с указателями,

в операторе new языка Java имена p1, p2 называются ссылками. Здесь использован простейший вывод на экран. Имя System.out - это имя класса с функциями вывода,

и в нём находится метод println.

Соседние файлы в папке Лекции