ホームページ  >  記事  >  バックエンド開発  >  PHP関数のクラス関数とオブジェクト関数

PHP関数のクラス関数とオブジェクト関数

WBOY
WBOYオリジナル
2023-05-18 15:12:06775ブラウズ

PHP は広く使用されているサーバーサイド スクリプト言語であり、その幅広い用途は主にその強力な関数ライブラリによるものです。この記事ではPHPの関数のクラス関数とオブジェクト関数を紹介します。

PHP 関数ライブラリでは、クラスを使用するのが非常に一般的です。クラスはオブジェクトのすべてのプロパティとメソッドを定義するため、コードがより構造化され、体系化されます。 PHP では、クラスは class キーワードによって定義されます。以下は、単純な PHP クラス定義の例です。

class MyClass {
  // 属性定义
  public $prop1 = "I'm a class property!";
 
  // 方法定义
  public function setProperty($newval) {
      $this->prop1 = $newval;
  }
 
  public function getProperty() {
      return $this->prop1 . "<br />";
  }
}

上記のコードでは、MyClass という名前のクラスを定義し、prop1 という名前のプロパティと、setProperty() メソッドと getProperty() メソッドという名前の 2 つのプロパティがあります。プロパティを割り当ててメソッドを呼び出すときは、$this キーワードを使用する必要があります。

次に、MyClass のインスタンスを作成し、そのプロパティとメソッドにアクセスできます:

$obj = new MyClass;

echo $obj->prop1; // 输出 "I'm a class property!"

$obj->setProperty("I'm a new property value!");

echo $obj->getProperty(); // 输出 "I'm a new property value!"

上記のコードでは、$obj という名前のインスタンスを作成し、$ obj->prop1 構文を使用します。クラスプロパティの値にアクセスします。次に、setProperty() メソッドを呼び出して、prop1 プロパティの値を変更します。最後に、getProperty() メソッドを再度呼び出して、prop1 プロパティの新しい値を確認します。

通常の PHP クラスに加えて、抽象クラスと呼ばれる特別なタイプのクラスもあります。抽象クラスはインスタンス化できず、他のクラスを派生するためにのみ使用されます。抽象クラスのメソッドには実装が含まれる場合と含まれない場合があります。メソッドが抽象として宣言されている場合、派生クラスはそのメソッドを実装する必要があります。以下は、単純な PHP 抽象クラス定義の例です。

abstract class AbstractClass {
    // 强制要求子类定义这些方法
    abstract protected function getValue();
    abstract protected function prefixValue($prefix);
 
    // 普通方法
    public function printOut() {
        print $this->getValue() . "<br/>";
    }
}

上のコードでは、AbstractClass という名前の抽象クラスを作成し、getValue() および prefixValue() という 2 つの名前の抽象メソッドを定義します。次に、printOut() という通常のメソッドを定義します。クラス内の抽象メソッドは、そのクラスを実装するサブクラスによってオーバーライドできます。

通常の PHP クラスと抽象クラスに加えて、PHP はインターフェイスと呼ばれる特殊なタイプのクラスも提供します。インターフェイスは抽象クラスに似ていますが、実装を含めることはできず、メソッド シグネチャのみを含めます。クラスは 1 つ以上のインターフェイスを実装できます。インターフェイスを実装する場合、そのインターフェイスで宣言されたすべてのメソッドを実装する必要があります。以下は、簡単な PHP インターフェイス定義の例です。

interface MyInterface {
    public function getValue();
    public function setValue($value);
}

上記のコードでは、MyInterface という名前のインターフェイスを作成し、getValue() と setValue() という 2 つのメソッドを定義します。このインターフェースを実装するクラスでは、これら 2 つのメソッドを実装する必要があります。

概要: PHP 関数のクラス関数とオブジェクト関数のうち、クラスは PHP 関数ライブラリでよく使用される概念です。 PHP のクラスではプロパティとメソッドを定義できるため、コードがより構造化され、体系化されます。抽象クラスと抽象インターフェイスは特別なタイプのクラスです。抽象クラスではメソッドに実装が含まれる場合も含まれない場合もありますが、インターフェイスではメソッドにメソッド宣言のみが含まれます。抽象クラスまたはインターフェイスを実装する場合、その中で宣言されているすべてのメソッドを実装する必要があります。

以上がPHP関数のクラス関数とオブジェクト関数の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。