Регулярные выражения, которые удаляют символы, которые не соответствуют шаблону

Я считаю, что интервьюер пытался понять, возможно, это разница между интерфейсом и реализацией.

Интерфейс - не интерфейс Java, а «интерфейс» в более общих терминах - с кодовым модулем это, в основном, контракт с клиентским кодом, который использует интерфейс.

Реализация модуля кода - это внутренний код, который заставляет модуль работать. Часто вы можете реализовать конкретный интерфейс более чем одним способом и даже изменить реализацию без кода клиента, даже будучи осведомленным об этом изменении.

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

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

-1
задан Simon 29 March 2019 в 11:33
поделиться