我有一节课

class Product {
    public $name;
    private $price2;
    protected $number;

function getNmae() {
    return $this->name;
}

function getPrice() {
    return $this->price2;
}

function getNumber() {
    return $this->number;
}
}

在这里我可以使用私有价格,没有任何问题?

<?php
include 'oop_test.php';

class Banana extends Product {
   
   
}


$ba = new Banana();
echo $ba->price2 = 2000;

?>

the result like this: enter image description here

我不明白如何为私有变量赋值?

推荐答案

在这种情况下,看起来您已经动态创建了一个属性.缩减的样本显示了以下情况:

<?php
class Product {
    private $price2;

    function getPrice() {
        return $this->price2;
    }
}

class Banana extends Product {}


$ba = new Banana();
$ba->price2 = 2000;

echo 'On the fly property: ' . $ba->price2;
echo 'Private property: ' . $ba->getPrice();

该代码为属性price2打印2000,但不会从getPrice返回任何内容-因此您没有reallyProduct类上编写属性price2,而是在Banana类中创建了一个新的属性price2.

这里不涉及Product类的"原始"属性,因为它是私有属性,因此在Banana类中始终不可用.

Php相关问答推荐

在WooCommerce管理订单页面中显示区域名称

有什么方法可以阻止WordPress主题升级通知吗?

在特定订单状态更改时自定义WooCommerce订单发货项目

在WooCommerce产品变体SKU字段旁边添加自定义输入字段

ForHumans函数中的月当量与单位限制

在冲突和几何上插入的Postgres参数化查询在PHP中不起作用

无法使用php IMAP从Gmail获取收件箱

有没有可能从composer 过时的输出中隐藏不需要的主要版本?

服务器迁移后无法上载文件-可能存在权限问题

创建一个Woocommerce我的帐户订单页面,仅显示已完成的订单

如何使用barryvdh/laravel-Snappy在两个打印页面上将表格分成两部分?

在PHP项目中安装OpenAI PHP SDK时出现问题

当未 Select 任何变体时,在 WooCommerce 可变产品上显示自定义文本

如何判断php中wordpress路径之外的文件夹是否存在?

根据WooCommerce中选定的变体重量更改输入数量步值

如何使用相同的变量使函数参数对于数组和字符串都是可选的

我试图在我的视图上显示从数据库中获取的数据,但我无法显示它.拉维尔 10.x /

输出每个可能的产品选项

NetBeans 不显示中文内容

如何将在同一台服务器上运行的 2 个 PHP 应用程序与使用公共会话分开