php oop 中函数有两种类型:类方法和静态方法。类方法属于特定类,由该类实例调用;静态方法不属于任何类,通过类名调用。类方法使用 public function 声明,静态方法使用 public static function 声明。类方法通过对象实例调用($object->mymethod()),静态方法直接通过类名调用(myclass::mystaticmethod())。
PHP面向对象编程(OOP)中的函数:问与答
问:PHP OOP 中函数的类型有哪些?
答:PHP OOP 中函数有两种类型:
- 类方法:属于特定类的函数,只能由该类的实例调用。
- 静态方法:不属于任何特定类的函数,可以通过类名直接调用。
问:如何声明类方法?
答:可以使用以下语法声明类方法:
class MyClass {
public function myMethod() { ... }
}
问:如何声明静态方法?
答:可以使用以下语法声明静态方法:
class MyClass {
public static function myStaticMethod() { ... }
}
问:如何调用类方法?
答:可以使用以下语法调用类方法:
$object = new MyClass();
$object->myMethod();
问:如何调用静态方法?
答:可以使用以下语法调用静态方法:
MyClass::myStaticMethod();
实战案例:创建一个计算面积的类
class Rectangle {
private $width;
private $height;
public function setWidth($width) {
$this->width = $width;
}
public function setHeight($height) {
$this->height = $height;
}
public function getArea() {
return $this->width * $this->height;
}
public static function calculateArea($width, $height) {
return $width * $height;
}
}
// 创建矩形对象
$rectangle = new Rectangle();
$rectangle->setWidth(10);
$rectangle->setHeight(5);
// 调用类方法计算面积
$area = $rectangle->getArea();
// 调用静态方法计算面积
$staticArea = Rectangle::calculateArea(10, 5);
echo "类方法计算的面积:{$area}n";
echo "静态方法计算的面积:{$staticArea}n";