Spec-Zone .ru
спецификации, руководства, описания, API
|
Как Вы уже узнали, объекты определяют свое взаимодействие с помощью внешнего мира через методы, которые они представляют. Методы формируют интерфейс объекта с внешним миром; кнопки на передней стороне Вашего телевизора, например, являются интерфейсом между Вами и электропроводкой с другой стороны ее пластмассового преобразования регистра. Вы нажимаете кнопку "питания", чтобы включить и выключить телевидение.
В его наиболее распространенной форме интерфейс является группой связанных методов с пустыми телами. Поведение велосипеда, если определено как интерфейс, могло бы появиться следующим образом:
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
ключевое слово к началу реализованных методов интерфейса. Вы изучите причины этого позже в уроках на Классах и Объектах и Интерфейсах и Наследовании.