PHP面向对象程序设计中的self、static、parent关键字用法分析
1. self关键字
- self关键字在类内部使用,指代当前类自身。
- 使用self可以访问类的常量、静态属性和静态方法。
示例1:访问类的常量
class MyClass {
const MY_CONSTANT = 10;
public function getConstant() {
return self::MY_CONSTANT;
}
}
$obj = new MyClass();
echo $obj->getConstant(); // 输出 10
示例2:调用类的静态方法
class MathUtils {
public static function add($a, $b) {
return $a + $b;
}
}
echo MathUtils::add(2, 3); // 输出 5
2. static关键字
- static关键字可以在类内部和类外部使用。
- 在类内部,static关键字可以用于定义静态属性和静态方法。
- 在类外部,可以通过类名直接调用类的静态属性和静态方法。
示例1:定义和访问静态属性
class Counter {
private static $count = 0;
public static function increment() {
self::$count++;
}
public static function getCount() {
return self::$count;
}
}
Counter::increment();
Counter::increment();
echo Counter::getCount(); // 输出 2
示例2:调用静态方法
class MathUtils {
public static function multiply($a, $b) {
return $a * $b;
}
}
echo MathUtils::multiply(2, 3); // 输出 6
3. parent关键字
- parent关键字用于访问当前类的父类的属性和方法。
- 只能在子类中使用,用于访问父类的成员。
示例1:访问父类的属性
class Animal {
protected $name;
public function __construct($name) {
$this->name = $name;
}
}
class Dog extends Animal {
public function getName() {
return $this->name;
}
}
$dog = new Dog("旺财");
echo $dog->getName(); // 输出 旺财
示例2:调用父类的方法
class Shape {
protected $color;
public function __construct($color) {
$this->color = $color;
}
public function getColor() {
return $this->color;
}
}
class Circle extends Shape {
public function getColor() {
return parent::getColor() . " circle"; // 调用父类的方法并添加额外信息
}
}
$circle = new Circle("red");
echo $circle->getColor(); // 输出 red circle
以上就是在PHP面向对象程序设计中使用self、static和parent关键字的用法分析的完整攻略。希望对你有帮助!
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:PHP面向对象程序设计中的self、static、parent关键字用法分析 - Python技术站