类和对象:
- 类(Class): 类是一种定义对象的蓝图或模板。它定义了对象的属性(成员变量)和方法(成员函数)。
class Car {
// 属性
public $brand;
public $model;
// 方法
public function startEngine() {
echo "Engine started!";
}
}
- 对象(Object): 对象是类的实例。可以通过使用 new 关键字来创建类的实例。
$myCar = new Car();
$myCar->brand = "Toyota";
$myCar->model = "Camry";
$myCar->startEngine(); // 输出 "Engine started!"
访问修饰符:
- public: 成员在任何地方都可以被访问。
- protected: 成员在类和子类中可以被访问。
- private: 成员仅在类内部可以被访问。
class Example {
public $publicVar;
protected $protectedVar;
private $privateVar;
public function __construct() {
$this->publicVar = "Public";
$this->protectedVar = "Protected";
$this->privateVar = "Private";
}
}
构造函数和析构函数:
- 构造函数(Constructor): 在创建对象时自动调用,用于初始化对象的属性。
class Car {
public $brand;
public function __construct($brand) {
$this->brand = $brand;
}
}
$myCar = new Car("Toyota");
- 析构函数(Destructor): 在对象销毁时自动调用,用于释放资源或执行清理操作。
class Car {
public function __destruct() {
echo "Car object destroyed.";
}
}
$myCar = new Car();
unset($myCar); // 对象销毁
继承:
通过继承,一个类可以继承另一个类的属性和方法。
class Animal {
public $name;
public function eat() {
echo "Eating...";
}
}
class Dog extends Animal {
public function bark() {
echo "Woof!";
}
}
$dog = new Dog();
$dog->name = "Buddy";
$dog->eat(); // 继承自父类
$dog->bark(); // 自身的方法
抽象类和接口:
- 抽象类(Abstract Class): 不能被实例化,可以包含抽象方法和普通方法。
abstract class Shape {
abstract public function area();
}
class Circle extends Shape {
public function area() {
// 计算圆形面积的具体实现
}
}
- 接口(Interface): 定义了一组方法,类实现接口时必须实现这些方法。
interface Logger {
public function log($message);
}
class FileLogger implements Logger {
public function log($message) {
// 将日志信息写入文件的具体实现
}
}
以上是PHP面向对象编程的一些基本概念。OOP提供了一种更结构化和可维护的编程方式,允许你创建更易于理解和扩展的代码。
转载请注明出处:http://www.pingtaimeng.com/article/detail/3410/PHP