Пять уроков по Java


Интерфейсы - часть 3


public class NewButton

extends OldButton implements CustomLook

{

public void NotifyStartPaint()

{

// Код для перехвата начала рисования

}

public void CustomPaint ();

}

{

// Код для рисования кнопки нового

// внешнего вида

}

}

public class NewInputLine

extends OldInputLine implements CustomLook

{

public void NotifyStartPaint()

{

// Код для перехвата начала рисования

}

public void CustomPaint ();

}

{

// Код для рисования строки ввода

// нового внешнего вида

}

}

public class NewMenuItem

extends OldMenuItem implements CustomLook

{

public void NotifyStartPaint()

{

// Код для перехвата начала рисования

}

public void CustomPaint ();

}

{

// Код для рисования пункта меню нового

// внешнего вида

}

}

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

Кратко напомним ключевые моменты использования интерфейсов:

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



  • Начало  Назад  Вперед



    Книжный магазин