gpt4 book ai didi

PHP继承数组属性

转载 作者:可可西里 更新时间:2023-10-31 23:26:22 24 4
gpt4 key购买 nike

我在 PHP 5.2.9 中有一个类层次结构。

基类有一个 protected 属性,它是一个关联数组。

子类可以向数组中添加一些元素。

子类在单独的文件(插件)中声明,这些文件将由多个开发人员创建和添加。

将元素添加到子类中的属性的最佳方法是使声明新子类尽可能简单?

<?php
class A {
protected $myproperty = array (
'A1' => 1,
'A2' => 2
);

function myprint()
{
print_r($this->myproperty);
}
};

class B extends A {
// add 'B1', 'B2' to myproperty
};

class C extends B {
// add 'C1', 'C2' to myproperty
};

$c = new C();
$c->myprint();
// The line above should print A1, A2, B1, B2, C1, C2
?>

理想情况下,我想让开发人员能够像声明变量或私有(private)属性一样简单,而无需复制粘贴任何代码。

最佳答案

利用constructors在继承类中,对于 B 类,它会变成这样:

class B extends A {
function __construct() {
parent::__construct(); // Call constructor of parent class
array_push($myproperty, "B1", "B2"); // Add our properties
}
}

C 类也是如此。

如果你有很多继承类,或者想提供尽可能多的支持,你可以把这段代码放到一些函数中。所以其他开发者只需要在他们的构造函数中调用这个函数来“注册”他们的 child 。

关于PHP继承数组属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2108556/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com