ホームページ  >  記事  >  バックエンド開発  >  PHP OOP の概念: クラス、オブジェクト、継承

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

WBOY
WBOYオリジナル
2024-07-24 09:08:14659ブラウズ

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 サイトの他の関連記事を参照してください。

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