”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > PHP OOP 概念:类、对象和继承

PHP OOP 概念:类、对象和继承

发布于2024-07-31
浏览:422

PHP OOP Concepts: Classes, Objects and Inheritance

PHP 中的类

PHP 中的类是定义对象的属性和行为的蓝图或模板。它是一种封装数据和操作该数据的函数的方法。类定义了对象的结构和行为,包括其属性(数据)和方法(函数)。

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

希望你已经明白了

版本声明 本文转载于:https://dev.to/ghulam_mujtaba_247/php-oop-concepts-classes-objects-and-inheritance-44j9?1如有侵犯,请联系[email protected]删除
最新教程 更多>

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3