Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
metod_OOP2012.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
584.19 Кб
Скачать

Синтаксис работы с атрибутами и методами классов.

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

Ситуация 1: необходимо обратиться из метода класса к каким-либо свойствам этого же класса или вызвать метод этого же класса.

Пример – строка 1.48- 1.51 Обратите внимание , что наличие возвращаемого значения из метода

влечет за собой обязательное появление оператора return с возвращаемым значением. Обращение к свойствам класса происходит с использованием ссылки this - this.fio например. Обращение к методам в этом случае имеет такой же синтаксис. Т.о. вызов метода setAdress будет выглядеть, как this.setAdress(“ул. Петровского 45”)

Ситуация 2: необходимо обратиться к атрибутам и методам одного класса из другого класса или из метода main() этого же класса.

Это возможно только при наличии ссылки на экземпляр данного класса и если доступ производится с учетом уровня модификатора доступа компонента.

Синтаксис обращения - имя_ ссылки.имя_атрибута или имя_ссылки.имя_метода(значение_ параметра1, значение_ параметра2, ...)

Пример : строка 1.44 hum1.setAdress("м. Миколаїв , вул. Мархлевського 34, кв.56"); , где hum1- это ссылка на объект , метод которого хотим вызвать , setAdress("м. Миколаїв , вул. Мархлевського 34, кв.56") - имя метода и значение параметра метода.

Ситуация 3: необходимо обратиться к статическим методам и атрибутам класса из любой точки программы.

Модификатор static дает возможность обратиться к атрибутам и методам без предварительного получения ссылки на объект нужного типа. Для обращения достаточно имя_класса.имя_атрибута или имя_класса.имя_ссылки.имя_метода(значение_ параметра1, значение_ параметра2, ...) Так вызов статического метода sum1 будет иметь следующий вид – Human.sum1(4,10). Для статических полей(атрибутов классов) синтаксис аналогичен.

Константы. Статические переменные и методы.

Для создания констант класса , в Java используется ключевое слово final в строке описания переменной класса. При этом для финализированной переменной возможна только одна инициализация , т.е. присвоить значение ей возможно только один раз . При попытках в дальнейшем изменить ее значение в коде программы , компилятор сообщит об ошибке .

Пример : private final String inn="11111111111";

Ключевое слово final может применяться не только к переменным , но и к классам и методам. Эффект применении к классам – от класса нельзя наследоваться . Эффект применения к методам - метод невозможно переопределить в наследниках.

Пакеты в Java.

Классы в Java располагаются в пакетах . Полное имя класса складывается из имя_пакета_1.имя_пакета_2.имя_пакета_n.имя_класса. Для класса Human полное имя - javaapplication38.Human. Каждому пакету соответствует дирректория в файловой системе с таким же именем. Соответственно , все классы данного пакета будут расположены в дирректории с таким же именем. Пакеты могут быть вложенными друг в друга. Вложенным пакетам соответствуют вложенные дирректории. Для указания о том , что пакет принадлежит определенному пакету служит инструкция package javaapplication38;(строка 1.1) Причина по которой в Java применяются пакеты – снижение рисков возникновения конфликтов имен классов , при использовании внешних библиотек. Для того , чтобы не писать полное имя класса , каждый раз при использовании классов из другого пакета в нашем классе , существует команда import. Пример – строка 1.2 – это импорт конкретного класса Date из пакетов java.util. Конструкция import java.util.* даст пользоваться короткими именами всех классов пакета java.util. Но это не касается классов , которые находятся во вложенных пакетах , пакета java.util.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]