interface калит сузи

interface калит сузи интерфейсларни яратиш учун ишлатилади - бу класс томонидан амалга оширилиши керак бўлган методларни аникловчи махсус конструкциялар. Интерфейслар факат методларнинг эълон қилинишини ўз ичига олади, уларнинг амалга оширилишисиз. Интерфейсни амалга оширувчи класс интерфейсда эълон қилинган барча методларни ўз ичига олиши керак.

Синтаксис

phpinterface InterfaceName {
  public function method1();
  public function method2($param);
  // ...
}

Мисол

Оддий интерфейс ва уни амалга оширувчи класс яратамиз:

php<?php
  interface Logger {
    public function log($message);
  }

  class FileLogger implements Logger {
    public function log($message) {
      echo "Файлга жургаллаш: " . $message;
    }
  }

  $logger = new FileLogger();
  $logger->log("Синнов хабар");
?>

Коднинг ишлаши натижаси:

php'Файлга жургаллаш: Синнов хабар'

Мисол

Интерфейс бир нечта методни ўз ичига олиши мумкин, ва класс уларнинг барчасини амалга ошириши керак:

php<?php
  interface Shape {
    public function calculateArea();
    public function calculatePerimeter();
  }

  class Circle implements Shape {
    private $radius;
    
    public function __construct($radius) {
      $this->radius = $radius;
    }
    
    public function calculateArea() {
      return 3.14 * $this->radius * $this->radius;
    }
    
    public function calculatePerimeter() {
      return 2 * 3.14 * $this->radius;
    }
  }

  $circle = new Circle(5);
  echo "Юза: " . $circle->calculateArea();
?>

Коднинг ишлаши натижаси:

php'Юза: 78.5'

Шунингдек кўринг

  • class буйруги,
    классларни эълон қилиш учун
  • trait буйруги,
    трейтларни эълон қилиш учун