首页 > 后端开发 > php教程 > PHP OOP 概念:类、对象和继承

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

WBOY
发布: 2024-07-24 09:08:14
原创
749 人浏览过

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中文网其他相关文章!

来源:dev.to
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板