рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

ОБЪЕКТНАЯ МОДЕЛЬ ЯЗЫКА JAVA

ОБЪЕКТНАЯ МОДЕЛЬ ЯЗЫКА JAVA - раздел Программирование, Язык программирования Java Объектная Модель Языка Java. Когда Говорят Об Объектно-Ориентированном Языке ...

ОБЪЕКТНАЯ МОДЕЛЬ ЯЗЫКА JAVA. Когда говорят об объектно-ориентированном языке программирования, предполагают поддержку трех механизмов инкапсуляция наследование полиморфизм. Инкапсуляция и наследование в языке Java реализуются с помощью понятия класса. КЛАССЫ. Для создания классов можно использовать только ключевое слово class. Что же касается union, то это ключевое слово в Java не применяется. В языке программирования С описание класса может быть отделено от его определения.

Для Java это не так - описание класса недопустимо. Все методы должны быть определены внутри определения класса. Недопустимо определение вложенных классов. В Java также нет шаблонов. Возможно создавать классы только на базе других классов. Объект класса создается при помощи ключевого слова new, однако невозможно удалить объект явным образом, так как ключевое слово delete языка программирования С в Java не используется.

При определении класса нельзя указать деструктор. Функции удаления объектов Java из памяти выполняет система сборки мусора. Внутри одного исходного файла можно определить только один общедоступный класс public. Все классы в Java наследуются от класса Object, поэтому для любого объекта можно использовать методы этого класса. 1 class Point extends Object 2 private double x 3 private double y 4 Point double x, double y 5 this.x x 6 this.y y 7 8 Point 9 this 0.0, 0.0 10 11 public void setX double x 12 this.x x 13 14 public void setY double y 15 this.y y 16 17 Класс является шаблоном для создания объектов он может содержать данные и методы.

Выше приведен пример класса, описывающего точки в двумерном пространстве. Здесь и далее номера строк используются для последующих пояснений и не являются частью Java-программ. В языке Java нельзя отрывать определение метода функции от описания заголовка. Синтаксическая конструкция class полностью включает в себя всю информацию о классе.

В частности, реализации методов обязаны содержаться внутри этой конструкции. Для обозначения наследования используется ключевое слово extends строка 1 . Класс Object - это корень дерева наследования. В Java не бывает классов- сирот у всех классов, кроме Object, есть предшественник. Режимы доступа к элементам класса private, protected, public те же, что и в C , за одним важным исключением. Если режим доступа опущен, предполагается, что соответствующий элемент доступен в пределах пакета см. далее. В строке 9 приведен пример явного вызова одного конструктора из другого.

Прочие приведенные выше строки не нуждаются в пояснениях кроме одной - отсутствующей. В языке Java не бывает деструкторов. Причина в том, что управление памятью автоматизировано в фоновом режиме работает сборщик мусора. Для высвобождения прочих ресурсов, ассоциированных с объектом, служит специальный метод finalize. Этот метод вызывается сборщиком мусора в момент утилизации памяти, занимаемой объектом. 1 class Point3D extends Point 2 protected double z 3 Point3D 4 super 5 z 0.0 6 7 Point3D double x, double y, double z 8 super x, y 9 this.z z 10 11 Ключевое слово this см например, строки 5 и 9 используется в объекте для ссылки на самого себя. Аналогичную роль по отношению к родительскому классу играет слово super. В строках 4 и 8 вызываются конструкторы родительского класса.

Приведенные примеры показывают, что в языке Java, как и в C , методы могут быть перегруженными, то есть под одним именем могут фигурировать разные методы с разным набором параметров.

Вы не можете определять методы вне тела класса, создавая таким образом глобальные функции. Нет также возможности определения вне класса глобальных данных. Тем не менее, внутри класса можно определять статические методы и поля с помощью ключевого слова static, которые будут играть роль глобальных методов и данных. Пользуясь ключевыми словами static и final, можно определять внутри классов глобальные константы. Если в базовом классе метод определен с ключевым словом final, его нельзя переопределить в дочернем классе, созданном на базе данного метода.

Методы не могут быть определены как inline. Методы Java могут создавать исключения, вызванные возникновением ошибок или других событий. Все исключения должны либо обрабатываться внутри метода, либо описываться в определении метода после ключевого слова throws. 1 public native String getName 2 public native Class getSuperclass 3 public static native Class forName String className throws ClassNotFoundException Как и в C , с помощью ключевого слова static можно определить данные и методы, которые являются общими для всех объектов класса.

Функций, не принадлежащих какому-либо классу, в языке Java не бывает. Следующий пример содержит фрагменты стандартного пакета java.lang. Прокомментируем этот пример с точки зрения отличий Java от C . Строки с 5 по 21 представляют собой инициализацию статических данных класса, которая осуществляется в момент загрузки класса в Java-машину.

По сути этот код играет роль конструктора класса Character. В строках 1 и 3 встречается ключевое слово final. В строке 1 это слово обозначает запрет на наследование от класса Character. В строке 3 его смысл аналогичен описателю const в C . Если слово final использовано в заголовке метода, то данный метод не может быть переопределен в классах-наследниках. Как и в C , в языке Java классы могут быть абстрактными, то есть не до конца конкретизированными. Это означает, что в классе описаны методы, определения которых отсутствуют.

Такие методы как и сам класс должны снабжаться описателем abstract. Абстрактные методы должны конкретизироваться в производных классах. В языке Java имеется предопределенная иерархия классов, содержащихся в пакете java.lang. В этой иерархии несколько особняком стоит класс Class. Программист не может создать объект класса Class правда, существуют и другие классы с этим свойством. Ссылки на объект класса Class можно получить с помощью метода getClass, определенного для объектов класса Object. 1 public final 2 class Character extends Object 3 public static final int MAX RADIX 36 4 static char downCase 5 static 6 char down new char 256 7 for int i 0 i 256 i 8 down i char i 9 10 for int lower a lower z lower 11 int upper lower A - a 12 down upper char lower 13 14 for int lower 0xE0 lower 0xFE lower 15 if lower ! 0xF7 16 int upper lower A - a 17 down upper char lower 18 19 20 downCase down 21 22 public static boolean isLowerCase char ch 23 return upCase ch ! ch 24 25 Объекты класса Class используются для получения во время выполнение информации о классовых свойствах объекта.

К объектам класса Class, помимо прочих, применимы предыдущие методы.

Метод forName позволяет получить ссылку на класс по его имени. Описатель native свидетельствует о том, что метод реализуется средствами, внешними по отношению к Java-системе например, пишется на языке C .

– Конец работы –

Эта тема принадлежит разделу:

Язык программирования Java

И тем не менее, уже довольно длительная история развития персональных компьютеров не знала ничего, подобного феномену Java. Что изменилось в мире в… Он стал доступен миллионам людей, далеких от технических проблем. Число пользователей Интернет по порядку величины уже не отличается от числа пользователей персональных компьютеров и…

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: ОБЪЕКТНАЯ МОДЕЛЬ ЯЗЫКА JAVA

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Мобильность Java
Мобильность Java. Язык программирования С является мобильным. Это нужно понимать в том смысле, что имеется принципиальная возможность переноса программ C на различные платформы. Однак

НАСЛЕДОВАНИЕ. Интерфейсы
НАСЛЕДОВАНИЕ. Интерфейсы. Модель наследования в языке Java существенно отличается от модели C . Во-первых, в Java нет множественного наследования. Таким образом, для каждого дочернего класса

ЖИЗНЕННЫЙ ЦИКЛ ОБЪЕКТА
ЖИЗНЕННЫЙ ЦИКЛ ОБЪЕКТА. Объекты создаются с помощью оператора new. Инициализация объекта производится с помощью соответствующего конструктора. Эти операции разделить нельзя - за new всегда с

Массивы в Java
Массивы в Java. В языке Java присутствуют массивы. Эти массивы типизированы. Декларация Point myPoints описывает переменную myPoints как массив объектов типа Point. Завести массив определенного раз

КЛАСС THREAD И ИНТЕРФЕЙС RUNNABLE
КЛАСС THREAD И ИНТЕРФЕЙС RUNNABLE. Поток thread представляет собой отдельный поток управления в пределах процесса. Таким образом, у каждого потока есть начало, последовательность действий, т

СРЕДСТВА СИНХРОНИЗАЦИИ ПОТОКОВ
СРЕДСТВА СИНХРОНИЗАЦИИ ПОТОКОВ. Как и во всякой многопроцессной или многопотоковой среде, в Java существует проблема синхронизации доступа к разделяемым ресурсам. Примером такого ресурса явл

Замещающие классы
Замещающие классы. Очень часто в наших приложениях вместо базовых типов переменных мы будем использовать объекты встроенных классов, которые называются замещающими классами wrapper classes. Ниже мы

Другие встроенные классы
Другие встроенные классы. Среди других встроенных классов отметим класс Math, предназначенный для выполнения математических операций, таких как вычисление синуса, косинуса и тангенса. Предус

Библиотека классов java.io
Библиотека классов java.io. В библиотеке классов java.io собраны классы, имеющие отношение к вводу и выводу данных через потоки. С использованием этих классов можно работать не только с пото

ТЕХНОЛОГИЧЕСКИЙ ЦИКЛ ОБРАБОТКИ JAVA-ПРОГРАММ
ТЕХНОЛОГИЧЕСКИЙ ЦИКЛ ОБРАБОТКИ JAVA-ПРОГРАММ. Технологический цикл подготовки, трансляции, редактирования внешних связей, тестирования, отладки и выполнения Java-программ тот же, что и для других и

СИСТЕМА КОМАНД JAVA-МАШИНЫ
СИСТЕМА КОМАНД JAVA-МАШИНЫ. проектировались таким образом, чтобы всячески способствовать компактификации кода. С другой стороны, формат команд Java-машины довольно прост обычно команды не имеют опе

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги