2015-08-19 8 views
2

При изучении абстрактных классов и интерфейсов я получаю заявление «Вы ожидаете, что несвязанные классы будут реализовать интерфейс. Например, интерфейсы Сопоставимые и Cloneable реализуются многими несвязанных классов.»Что подразумевается под несвязанными классами?

Я не знаю, что подразумевается под неродственными классами здесь.

+3

Несвязанные: не имеющие ничего [else]. (Это обычно подразумевает, что они не связаны друг с другом по наследованию, а единственным базовым типом, который у них есть, является Object.) – user2864740

ответ

2

Давайте посмотрим на некоторые примеры из стандартного Java API:

Интерфейс Comparable реализуется многими классами, как File и Integer, которые не связаны друг с другом. Существует целый список классов, которые реализуют Comparable по ссылке выше. Это нормально, потому что Comparable определяет только один метод (compareTo), который каждый класс реализует по-своему, без какого-либо общего кода, который может быть полезен для каждого класса Comparable.

С другой стороны, два класса, охватывающие один абстрактный класс, например Format, обычно тесно связаны, например DateFormat и NumberFormat. Абстрактный класс позволяет определить некоторые методы удобства/полезности, которые полезны для каждого подкласса.

1

Оба абстрактных класса и интерфейсы служат для обмена некоторыми функциями.

Классы могут быть связаны по наследству, например, каждый Button также Control и как таковой имеет Control «S методы, свойства и т.д. (все, что имеет Control плюс ее члены).

Интерфейсы способ разделить некоторую функциональность между классами, не связанных по наследству, например, как String и DateTime реализации IComparable, так как есть CompareTo метод, и вы можете сказать, как это экземпляры IComparable.

0

Как user2864740 уже комментировал

Unrelated: не имея ничего [еще] в общей

, например, Lamborghini не имеет никакого отношения к Pitbull, но Lamborghini связана с автомобилем.
Потому что Lamborghini - это obvios автомобиль. Таким образом, у него есть все функции, которые есть у каждого автомобиля. Теперь у Pitbull нет никаких особенностей, у автомобиля есть эрго, он не связан с автомобилем.

Смежные вопросы