如何在PHP OOP中从类外部为公共属性赋值

 注定的等待幸福的到来 发布于 2023-01-14 15:27
  • php
  • 我想为一个对象的属性赋值.我认为它应该是这样的:

    $object->property = "value";
    

    所以,在我的情况下,我做:

    $circle_obj->radius = 4;
    

    所以,我预计属性半径应为4.不幸的是,在我的情况下情况并非如此.你明白为什么吗?

    您可以在下面看到我的代码.

    radius = 4;
        echo "Oppervlakte van circle is: " . $circle_obj->calcSurface(); //ouput: 0
        echo "
    "; class Subclass_Square extends BaseClass{ public $width; public $height; public function calcSurface(){ global $width; global $height; return $width * $height; } } $square_obj = new Subclass_Square(); $square_obj->width = 4; $square_obj->height = 4; echo "Oppervlakte van vierkant is: " . $square_obj->calcSurface(); //output: 0 ?>

    Tom Walters.. 5

    你不应该使用global,而是$this这样:

    public function calcSurface(){
      return M_PI * ($this->radius * $this->radius);
    }
    

    查看PHP OOP教程以获取更多信息.

    并查看变量范围教程以更好地理解global关键字.

    撰写答案
    今天,你开发时遇到什么问题呢?
    立即提问
    热门标签
    PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有