Spec-Zone .ru
спецификации, руководства, описания, API
След: Изучение Языка Java
Урок: Понятия Объектно-ориентированного программирования
Каков Интерфейс?
Домашняя страница > Изучение Языка Java > Понятия Объектно-ориентированного программирования

Каков Интерфейс?

Как Вы уже узнали, объекты определяют свое взаимодействие с помощью внешнего мира через методы, которые они представляют. Методы формируют интерфейс объекта с внешним миром; кнопки на передней стороне Вашего телевизора, например, являются интерфейсом между Вами и электропроводкой с другой стороны ее пластмассового преобразования регистра. Вы нажимаете кнопку "питания", чтобы включить и выключить телевидение.

В его наиболее распространенной форме интерфейс является группой связанных методов с пустыми телами. Поведение велосипеда, если определено как интерфейс, могло бы появиться следующим образом:

interface Bicycle {

    //  wheel revolutions per minute
    void changeCadence(int newValue);

    void changeGear(int newValue);

    void speedUp(int increment);

    void applyBrakes(int decrement);
}

Чтобы реализовать этот интерфейс, имя Вашего class изменилось бы (определенному бренду велосипеда, например, такой как ACMEBicycle), и Вы использовали бы implements ключевое слово в объявлении class:

class ACMEBicycle implements Bicycle {

    // remainder of this class 
    // implemented as before
}

Реализация интерфейса позволяет class становиться более формальным о поведении, которое она обещает обеспечить. Интерфейсы формируют контракт между class и внешним миром, и этот контракт осуществляется в, создают время компилятором. Если Ваш class утверждает, что реализовал интерфейс, все методы, определенные тем интерфейсом, должны появиться в его исходном коде прежде, чем class успешно скомпилирует.


Отметьте: фактически скомпилировать ACMEBicycle class, Вы должны будете добавить public ключевое слово к началу реализованных методов интерфейса. Вы изучите причины этого позже в уроках на Классах и Объектах и Интерфейсах и Наследовании.

Проблемы с примерами? Попытайтесь Компилировать и Выполнить Примеры: FAQ.
Жалобы? Поздравление? Предложения? Дайте нам свою обратную связь.

Предыдущая страница: Каково Наследование?
Следующая страница: Каков Пакет?