php - 从父范围访问子属性

标签 php oop

我需要一个父类来访问它的子属性:

class Parent {
  private $_fields = null;

  public function do_something() {
    // Access $_fields and $child_var here
  }
}

class Child extends Parent {
  private $child_var = 'hello';
}

$child = new Child();
$child->do_something();

$_fields 从子作用域被修改时,它在父作用域中仍然是 null。当尝试使用 $this->child_var 从父作用域访问 $child_var 时,它当然是未定义的。

我没有找到像“函数集”这样的东西,可以在子类中复制...

最佳答案

看一篇关于 visibility 的文章.

基本上,您不能访问父级的private 属性/方法,父级也不能访问其子级的。但是,您可以改为声明您的属性/方法 protected

class Parent {
    protected $_fields = null;

    public function do_something() {
        // Access $_fields and $child_var here
    }
}

class Child extends Parent {
    protected $child_var = 'hello';
}

$child = new Child();
$child->do_something();

关于php - 从父范围访问子属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7469759/

相关文章:

php - 网址后面的用户名

PHP:函数 'count' 的复杂度 [即 O(1),O(n)] 是多少?

C++ 在对象的对象内调用成员函数

c++ - OOP 迭代器和查找方法无法正常工作

c# - 在 VB.NET 与 C# 中实现属性的多级继承

c++ - 抽象类和基类是一回事吗?

javascript - 运行 chrome 扩展并在页面加载时将数据提交到 PHP 脚本(自动化过程)

javascript - 使用 json 和 $http 从 php 数组自动完成 Angular js

javascript - 如何从 php 变量为谷歌地图脚本提供经度和纬度值

python - 在 Python 中如何从使用函数列表过渡到使用类?