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 "Logging to file: " . $message;
    }
  }

  $logger = new FileLogger();
  $logger->log("Test message");
?>

Կոդի կատարման արդյունք.

php'Logging to file: Test message'

Օրինակ

Ինտերֆեյսը կարող է պարունակել մի քանի մեթոդ, և դասը պետք է իրականացնի դրանք բոլորը.

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 "Area: " . $circle->calculateArea();
?>

Կոդի կատարման արդյունք.

php'Area: 78.5'

Տես նաև

  • class հրամանը,
    դասերը հայտարարելու համար
  • trait հրամանը,
    տրեյթները հայտարարելու համար