Читать «Java 7 (Наиболее полное руководство)» онлайн - страница 46
Ильдар Шаукатович Хабибуллин
□ Способ выполнения поручения, содержащегося в сообщении, зависит от объекта, которому оно послано. В нашем примере этот объект — хозяин животного. Один хозяин поставит миску с Chappi, другой бросит кость, третий выгонит собаку на улицу. Это интересное свойство называется
□ Обращение к методу произойдет только на этапе выполнения программы, компилятор ничего не знает про метод. Это называется
Итак, объект sharik, выполняя свой метод eat (), посылает сообщение объекту, ссылка на который содержится в переменной person, с просьбой выдать ему определенное количество еды и питья. Сообщение записано в строке person.getFood(food, drink).
Этим сообщением заключается
Модульность
Для того чтобы правильно реализовать принцип ответственности, применяется четвертый принцип объектно-ориентированного программирования —
Этот принцип утверждает: каждый класс должен составлять отдельный модуль. Члены класса, к которым не планируется обращение извне, должны быть инкапсулированы.
В языке Java инкапсуляция достигается добавлением модификатора private к описанию члена класса. Например:
private int mouseCatched; private String name; private void preserve();
Эти члены классов становятся
А если в классе Master мы напишем
private void getFood(int food, int drink);
то метод getFood () не будет найден объектами других классов и несчастный sharik не сможет получить пищу.
В противоположность закрытости мы можем объявить некоторые члены класса
public void getFood(int food, int drink);
К таким членам может обратиться любой объект любого класса.
В языке Java словами private, public и protected отмечается каждый член класса в отдельности.
Принцип модульности предписывает открывать члены класса только в случае необходимости. Вспомните надпись на железнодорожном переезде: "Нормальное положение шлагбаума — закрытое".
Если же надо обратиться к закрытому полю класса, то рекомендуется включить в класс специальные