PHP OOP の概念: クラス、オブジェクト、継承

WBOY
リリース: 2024-07-24 09:08:14
オリジナル
740 人が閲覧しました

PHP OOP Concepts: Classes, Objects and Inheritance

PHPのクラス

PHP のクラスは、オブジェクトのプロパティと動作を定義するブループリントまたはテンプレートです。これは、データとそのデータを操作する関数をカプセル化する方法です。クラスは、プロパティ (データ) やメソッド (関数) など、オブジェクトの構造と動作を定義します。

<?php 

class Employee {
  public $name;
  public $salary;

  public function __construct($name, $salary) {
    $this->name = $name;
    $this->salary = $salary;
  }

  public function getDetails() {
    echo "Name: $this->name, Salary: $this->salary";
  }
}
ログイン後にコピー

PHPのオブジェクト

PHP のオブジェクトはクラスのインスタンスであり、現実世界の実体または概念を表します。これには、その動作を記述および定義する独自の属性 (データ) とメソッド (関数) のセットがあります。オブジェクトはクラスから作成され、独立して操作できます。

$manager = new Manager();
$developer = new Developer();
ログイン後にコピー

PHP における継承

PHP の継承は、あるクラスが別のクラスのプロパティと動作を継承できるようにするメカニズムです。継承クラス (子またはサブクラス) は、親クラスのすべてのプロパティとメソッドを継承し、新しいプロパティとメソッドを追加したり、親クラスから継承したものをオーバーライドしたりすることもできます。

//Inheritance 

class Manager extends Employee {
  public $department;

  public function __construct($name, $salary, $department) {
    parent::__construct($name, $salary);
    $this->department = $department;
  }

  public function getDetails() {
    parent::getDetails();
    echo ", Department: $this->department";
  }
}

class Developer extends Employee {
  public $specialty;

  public function __construct($name, $salary, $specialty) {
    parent::__construct($name, $salary);
    $this->specialty = $specialty;
  }

  public function getDetails() {
    parent::getDetails();
    echo ", Specialty: $this->specialty";
  }
}

// Create objects
$manager = new Manager("John Doe", 80000, "Marketing");
$developer = new Developer("Jane Smith", 70000, "Front-end");

// Access properties and methods
echo "Manager Details: ";
$manager->getDetails();
echo "\n";
echo "Developer Details: ";
$developer->getDetails();
ログイン後にコピー

各クラスには、名前や給与などのプロパティと、getDetails などのメソッドがあります。コードはこれらのクラスからオブジェクトを作成し、そのプロパティとメソッドを使用します。ここでは、クラスがどのように新しい機能を継承して追加できるか、またオブジェクトを使用してデータを保存および表示できるかを確認できます。現在のコンソールでプロジェクトを実行することで、このコードの出力を確認できます。出力は次のようになります。

Manager Details: Name: John Doe, Salary: 80000, Department: Marketing
Developer Details: Name: Jane Smith, Salary: 70000, Specialty: Front-end
ログイン後にコピー

しっかりと理解していただけたと思います

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

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート