63
compareTo
, которая используется для сравненивать два объекта. Мы обсудим его
compareTo
при обсуждении класса
String
.
Класс
String
реализует
Comparable
, то дает
нам возможность поставить
строки в лексикографическом порядке.
Интерфейс
Comparable.
Любой класс может реализовать
Comparable
чтобы обеспечить механизм для
сравнения объектов этого типа:
if (obj1.compareTo(obj2) < 0)
System.out.println ("obj1 is less than obj2");
Значение, возвращаемое
compareTo
должно быть отрицательным если
obj1
меньше чем
obj2
, если они равны, и положительно, если
obj1
больше чем
obj2
.
Когда программист проектирует класс, который реализует интерфейс
Comparable
,
то он должен следовать этому намерения.
Интерфейс
Iterator.
Итератор создается формально,
реализовав интерфейс
Iterator
, который
содержит три метода. Метод
hasNext
возвращает логический результат - истинно,
если есть элементы, которые остались для обработки.
Метод
next
метод возвращает следующий объект в итерации.
Метод
remove
удаляет объект, который совсем недавно, возвратил
next
Реализуя интерфейс
Iterator
, a класс формально устанавливает, что объекты
этого типа являются итераторы.
Программист должен решить, как наилучшим
образом реализовать функции итератора. После того, как появилась версия для цикла
for-each
можно использовать для обработки элементов с помощью итераторов.
Вы могли бы написать класс, который реализует определенные методы (такой
как
compareTo
) без формальной реализации интерфейса (
Comparable
).
Тем не
менее, формально, установление взаимосвязи
между классом и интерфейсом
позволяет, которые позволяет Java установить связи с
объектом в некоторых
отношениях
Интерфейсы
являются
одним
из
ключевых
аспектов
объектно-
64
ориентированного проектирования в Java.
Предположим, что мы создали следующую ссылочную переменную:
Occupation job;
Java позволяет этой ссылке указывать на объект
Occupation
, или на любой
объект любого совместимого типа (в одной иерархии).
Эта совместимость может
быть установлена с помощью наследования или с помощью интерфейсов.
Внимательное использование полиморфных ссылок может привести к элегантной,
надежной конструкции программного обеспечения.
Достарыңызбен бөлісу: