Иллюстрированный самоучитель по Java


         

в духе ООП: метод активен,


bisect

о выполнено в духе ООП: метод активен, он сам обращается к полям экземпляра

b2

и сам заносит результат в нужное поле. Метод

bisect ()

— это внутренний механизм класса Bisection2, поэтому он закрыт (private).

Имя метода, число и типы параметров образуют

сигнатуру

(signature) метода. Компилятор различает методы не по их именам, а по сигнатурам. Это позволяет записывать разные методы с одинаковыми именами, различающиеся числом и/или типами параметров.





Замечание




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

Например, в классе

Automobile

мы записали метод

moveTo(int x, int у)

, обозначив пункт назначения его географическими координатами. Можно определить еще метод

moveTo (string destination)

для указания географического названия пункта назначения и обращаться к нему так:

oka.moveTo("Москва") ;

Такое дублирование методов называется

перегрузкой

(overloading). Перегрузка методов очень удобна в использовании. Вспомните, в главе 1 мы выводили данные любого типа на экран методом 

printin()

не заботясь о том, данные какого именно типа мы выводим. На самом деле мы использовали разные методы t одним и тем же именем

printin

, даже не задумываясь об этом. Конечно, все эти методы надо тщательно спланировать и заранее описать в классе. Это и сделано в классе Printstream, где представлено около двадцати методов

print()

и

println()

.

Если же записать метод с тем же именем в подклассе, например:

class Truck extends Automobile{ 

void moveTo(int x, int y){

   // Какие-то действия 

}

   // Что-то еще 

}

то он перекроет метод суперкласса. Определив экземпляр класса

Truck

, например:

Truck gazel = new Truck();

и записав

gazei.moveTo(25, 150)

, мы обратимся к методу класса

Truck

. Произойдет

переопределение

(overriding) метода.

При переопределении права доступа к методу можно только расширить. Открытый метод


Содержание  Назад  Вперед





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