php怎么调用父类的属性
时间 : 2023-04-25 16:28:02声明: : 文章内容来自网络,不保证准确性,请自行甄别信息有效性
在 PHP 中,我们经常会需要在子类中调用父类的属性或方法,这可以通过 `parent` 关键字来实现。
当我们定义一个类时,如果这个类是另一个类的子类,那么我们可以通过 `extends` 关键字来继承父类的属性和方法。在子类的方法中,我们可以通过 `parent` 关键字来调用父类的属性和方法。具体的调用方式如下:
````php
class Father {
public $name;
protected $age;
public function __construct($name, $age) {
$this->name = $name;
$this->age = $age;
}
protected function showAge() {
echo $this->age;
}
}
class Son extends Father {
public function __construct($name, $age) {
parent::__construct($name, $age); // 调用父类的构造函数
}
public function showFatherName() {
echo $this->name; // 调用父类的公有属性
}
public function accessFatherAge() {
$this->showAge(); // 调用父类的受保护方法
}
}
$son = new Son('张三', 28);
$son->showFatherName(); // 输出:张三
$son->accessFatherAge(); // 输出:28
````
在上面的代码中,我们定义了一个父类 `Father`,其中包含了一个公有属性 `$name`,一个受保护的属性 `$age`,以及一个受保护的方法 `showAge()`。我们还定义了一个子类 `Son`,用来继承父类 `Father`。在子类中,我们定义了方法 `showFatherName()` 和 `accessFatherAge()`,它们分别用来访问父类的公有属性和受保护方法。
在子类的构造函数中,我们使用 `parent::__construct($name, $age)` 来调用父类的构造函数,并传递参数。在子类的方法中,我们使用 `$this->name` 来访问父类的公有属性,使用 `$this->showAge()` 来访问父类的受保护方法。
需要注意的是,如果父类的属性或方法是私有的,那么子类是无法通过 `parent` 关键字来访问的。此外,在子类中,我们也可以覆盖父类中的方法,如果我们想要在子类中调用父类被覆盖的方法,仍然可以通过 `parent` 关键字来实现。
这就是在 PHP 中如何调用父类的属性和方法的方法。通过使用 `parent` 关键字,我们可以轻松地在子类中访问父类的属性和方法。
在 PHP 中,我们可以使用 `parent` 关键字来调用父类的属性和方法。当子类继承了父类,它就拥有了父类的所有属性和方法。但是,如果子类中定义了一个与父类中同名的属性或方法,那么子类的属性或方法就会覆盖父类的属性或方法。这种情况下,我们需要使用 `parent` 关键字来访问父类中被覆盖的属性或方法。
假设我们有一个父类 `ParentClass`,其中定义了一个属性 `$name`:
```php
class ParentClass {
protected $name = 'Parent';
}
现在,我们要定义一个子类 `ChildClass`,它继承了父类 `ParentClass`:
```php
class ChildClass extends ParentClass {
protected $name = 'Child';
}
在上面的子类中,我们定义了一个同名的属性 `$name`,它的值为 `'Child'`。如果我们要访问父类中的 `$name` 属性,可以使用 `parent` 关键字:
```php
class ChildClass extends ParentClass {
protected $name = 'Child';
public function getParentName() {
return parent::$name;
}
}
上面的代码中,我们定义了一个名为 `getParentName` 的方法,该方法返回父类中的 `$name` 属性。在方法中,我们使用了 `parent::$name` 表示访问父类的 `$name` 属性。
除了访问属性,我们还可以使用 `parent` 关键字来调用父类的方法。假设我们的父类中定义了一个名为 `getName` 的方法,返回对象的 `$name` 属性:
```php
class ParentClass {
protected $name = 'Parent';
public function getName() {
return $this->name;
}
}
我们可以在子类中调用父类的 `getName` 方法:
```php
class ChildClass extends ParentClass {
protected $name = 'Child';
public function getParentName() {
return parent::getName();
}
}
上面的代码中,我们定义了一个名为 `getParentName` 的方法,该方法调用父类的 `getName` 方法,返回父类的 `$name` 属性。
总的来说,使用 `parent` 关键字可以很方便地访问和调用父类的属性和方法。但是,在使用 `parent` 关键字时要注意细节,因为如果父类中的属性或方法是私有的(即使用 `private` 关键字定义),子类将无法访问或调用它们。
上一篇
php怎么新建控制器类
下一篇
php在服务器怎么运行
https/SSL证书广告优选IDC>>
推荐主题模板更多>>
推荐文章