Анимация
JavaScript


Главная  Библионтека 

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 [ 82 ]

позволяет использовать методы до их определения. Более того, функции нельзя передать адрес переменной, поскольку аргументов-указателей и ссылок в Java не существует.

Некоторые части Java узнаются с первого взгляда. Например, объектные переменные Java аналогичны объектым указателям С++ (см. пример 6). Объекты Java находятся в куче, а объект, содержащий объектную переменную другого объекта, на самом деле указывает на другой объект в куче.

Пример 6

Java MyObject ob1;

C++

MyObject* ob1;

Методы Java должны определяться внутри класса. Внешнее определение, как в С++, не допускается. Фрагмент, показанный в примере 7, работает в С++, но не в Java. Хотя методы определяются внутри класса, это не значит, что они автоматически становятся подставляемыми (inline) функциями.

Пример 7

class Person

void Person::Raise()

salary *= 1000

Стоит ли бросать С++ и переходить на Java? Трудно сказать. Java заслуживает пристального внимания при разработке приложений для Internet, корпоративных или внешних сетей. Библиотека Java содержит все средства, необходимые для работы с протоколами TCP/IP, HTTP и FTP. Благодаря этому обратиться к сетевому объекту по URL так же просто, как и в локальной файловой системе.

Язык Java архитектурно нейтрален, поскольку копилятор генерирует объектный код и делает Java-приложения независимыми от реализации. Это особенно важно для Intemet-приложений. Однако в Java вам не удастся использовать средства управления памятью С++, чтобы выжать все возможное быстродействие для данной платформы. Так приходится расплачиваться за управление памятью, переданное в распоряжение Java.

Как только речь заходит о многопоточности, архитектурная нейтральность Java исчезает. Многопоточный код архитектурно нейтрален, но для реализации многопоточности Java прибегает к услугам операционной системы, поскольку реализация программных потоков существенно различается на разных платформах.

Произведет ли Java революцию в языках программирования? Станет ли это концом С++? Не спешите выбрасывать свой компилятор С++. При разработке приложений для Internet, а также корпоративных и внешних сетей Java оказывается более простым и удобным языком, чем С++. И все же вопрос о том, удастся ли Java стать действительно всесторонним языком и переманить на свою сторону программистов, остается открытым.



0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 [ 82 ]