воскресенье, 25 апреля 2021 г.

Adapter

abstract class ITemperatureAdapter {
  String getTemperature();
}

class CelsiusAdapter implements ITemperatureAdapter {
  double cel;
  CelsiusAdapter(this.cel);

  @override
  String getTemperature() {
    return 'Fahrenheit: ${C2F(cel)}';
  }

  double C2F(double cel) {
    return (cel * 9 / 5) + 32;
  }
}

class FahrenheitAdapter implements ITemperatureAdapter {
  double far;
  FahrenheitAdapter(this.far);

  @override
  String getTemperature() {
    return 'Celsius: ${F2C(far)}';
  }

  double F2C(double far) {
    return (far - 32) * 5 / 9;
  }
}

void main() {
  printTemp(CelsiusAdapter(10));
  printTemp(FahrenheitAdapter(104));
}

void printTemp(ITemperatureAdapter adapter) {
  print(adapter.getTemperature());
}

Комментариев нет:

Отправить комментарий