Объектно-ориентированное программирование - это метод программирования,
в центре внимания которого находятся данные (т.е. объекты) и средства
доступа к ним. По своему существу, объектно-ориентированные свойства
языков Java и C++ совпадают.
Объектная ориентация за прошедшие 30 лет уже доказала свою
ценность и практичность. Без нее уже невозможно представить себе
современный язык программирования.
Основное отличие между языками Java и C++ заключается в механизме
множественного наследования, для которого в языке Java найдено лучшее
решение, а также в модели метаклассов языка Java. Механизмы отражения и
серилизации объектов, реализованные в Java позволяют разработчику
создавать устойчивые объекты и средства для графических
пользовательских интерфейсов на основе готовых компонентов.
Язык Java обладает большой библиотекой программ для передачи
данных на основе протоколов TCP/IP (Transmission Control
Protocol/Internet Protocol - протокол передачи гипертекста) или FTP
(File Transfer Protocol - протокол передачи файлов).
Приложения, написанные на языке Java, могут открывать объекты
и получать к ним доступ через сеть с помощью URL-адресов (Uniform
Resource Location - универсальный адрес ресурса) так же просто, как и в
локальной сети.
Язык Java предоставляет мощные и удобные средства для работы в
сети. Каждый, кто когда-либо пытался писать программы для работы в сети
интернет на других языках программирования, удивлен тем, как легко
решаются на языке Java самые трудные задачи, к примеру, открытие
сетевых соединений (sockets connection).
Отлаженный механизм, состоящий из так называемых сервлетов
(servlets), дает возможность работать с сервером очень просто и
эффективно.
Надежность
Язык Java в первую очередь предназначен для создания программ, которые
должны надежно работать на любых платформах и под любой нагрузкой.
Основное внимание в языке Java было уделено раннему обнаружению
возможных ошибок, динамической проверке (во время выполнения
программы), а также исключению ситуаций, которые могут привести к
ошибкам.
Единственное значительное отличие языка Java от языка С++
заключается в модели указателей, принятой в языке Java, которая
исключает возможность перезаписи участка памяти и повреждения данных.
Это свойство очень важно. Компилятор языка Java выявляет такие
ошибки, которые в других языках программирования обнаруживаются только
на этапе выполнения программы. Кроме того, программисты, затратившие
много времени на поиск ошибки, вызвавшей повреждение памяти из-за
неверного указателя, избавятся от подобной проблемы в Java, поскольку в
этом языке программирования такие проблемы не возникают.
В таких языках программирования, как Visual Basic и COBOL,
указатели явно не используются. Но для программирования на С/С++ нужно
уметь работать с указателями для доступа к строкам, массивам, объектам
и даже файлам. Даже многие структуры данных в языке, не имеющем
указателей, реализовать очень сложно. Программист на языке Java может
не беспокоится о неверных указателях, неправильном распределении или
утечке памяти.