Что такое интерфейс в программировании - PullRequest
0 голосов
/ 06 февраля 2019

Я из истории JS.

Я изучал Дарт, и одной из тем были интерфейсы.

В статье они поделились следующим примером

void main() { 
   ConsolePrinter cp= new ConsolePrinter(); 
   cp.print_data(); 
}  
class Printer { 
   void print_data() { 
      print("__________Printing Data__________"); 
   } 
}  
class ConsolePrinter implements Printer { 
   void print_data() {  
      print("__________Printing to Console__________"); 
   } 
}

с следующий вывод

__________Printing to Console__________

С следующее объяснение

В следующей программе мы объявляем класс Printer.Класс ConsolePrinter реализует неявное объявление интерфейса для класса Printer.Функция main создает объект класса ConsolePrinter с помощью ключевого слова new.Этот объект используется для вызова функции print_data, определенной в классе ConsolePrinter.

Теперь я ничего не могу понять из этого.Может кто-нибудь улучшить приведенное выше объяснение кода или сделать его более человечным и показать пример из реального мира?

Ответы [ 2 ]

0 голосов
/ 06 февраля 2019

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

public class FilterCoffeeApp {
    private Logger log = Logger.getLogger(
        FilterCoffeeApp.class.getSimpleName());

    private FilterCoffeeMachine coffeeMachine;

    public FilterCoffeeApp(FilterCoffeeMachine coffeeMachine) {
        this.coffeeMachine = coffeeMachine;
    }

    public Coffee prepareCoffee() {
        Coffee coffee = this.coffeeMachine.brewCoffee();
        log.info("Coffee is ready!");
        log.info(" -> " + coffee);
        return coffee;
    }
}

interface

public interface FilterCoffeeMachine {
    Coffee brewCoffee();
}
0 голосов
/ 06 февраля 2019

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...