新手请教下,类属性能初始化为一个其他类的实例对象吗
新手请问下,类属性能初始化为一个其他类的实例对象吗
如果行的话,那语法是什么样的?
------解决方案--------------------
class A {}<br />class B {<br /> public $o;<br /> function __construct() {<br /> $this->o = new A;<br /> }<br />}<br />$p = new B;<br />print_r($p);
B Object<br />(<br /> [o] => A Object<br /> (<br /> )<br /><br />)<br /><br />
------解决方案--------------------
你的程序写错了。
1.第9行,你要显示$parameter属性,应是 echo $this->parameter; 而不是echo $parameter;
2.第15行 $test = new test("test"); 这个赋值并不会赋值到 private static $test,所以第20行的self::$test 是等于null
因此15行需要改为 self::$test = new test("test");
修改后的程序如下:
<br /><?php<br /> class test{<br /> private $parameter;<br /> public function __construct($parameter){<br /> $this->parameter=$parameter;<br /> echo "test类构造方法被调用<br/>";<br /> }<br /> public function getParameter(){<br /> echo $this->parameter; // 修改这里<br /> }<br /> }<br /> class test1{<br /> private static $test=null;<br /> public function __construct(){<br /> self::$test = new test("test"); // 修改这里<br /> echo "test1类构造方法被调用<br/>";<br /> }<br /> public static function show(){<br /> echo "show()方法被调用";<br /> self::$test->getParameter();//<br /> }<br /> }<br /> $test1 = new test1();<br /> test1::show();<br />?><br />
test类构造方法被调用
test1类构造方法被调用
show()方法被调用test
最后不得不说,自己有问题应该开贴,不应该在别人贴里面问。

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen











Huawei führt weltweit die Softwareversion 5.0.0.100 (C00M01) für die Smartwatches Watch GT 5 und Watch GT 5 Pro ein. Diese beiden Smartwatches wurden kürzlich in Europa eingeführt, wobei das Standardmodell das günstigste Modell des Unternehmens ist. Diese Harmonie

Katsuhiro Harada, der Regisseur der Tekken-Serie, versuchte einst ernsthaft, Colonel Sanders in das legendäre Kampfspiel einzubeziehen. In einem Interview mit TheGamer verriet Harada, dass er die Idee dem KFC Japan vorstellte, in der Hoffnung, die Fast-Food-Legende als Gast hinzuzufügen

Tesla bringt die neueste Version 12.5.5 des vollständig autonomen Fahrens (Supervised) auf den Markt und bringt damit endlich die versprochene Cybertruck-FSD-Option mit, zehn Monate nachdem der Pickup mit der im Ausstattungspreis der Foundation Series enthaltenen Funktion in den Verkauf ging. F

Garmin beendet den Monat mit einer Reihe neuer stabiler Updates für seine neuesten High-End-Smartwatches. Um es noch einmal zusammenzufassen: Das Unternehmen hat die Systemsoftware 11.64 veröffentlicht, um den hohen Batterieverbrauch bei Enduro 3, Fenix E und Fenix 8 zu bekämpfen (aktuell 1.099,99 $ bei Amazon).

Xiaomi wird in Kürze den Mijia Graphene Oil Heater in China auf den Markt bringen. Das Unternehmen führte kürzlich eine erfolgreiche Crowdfunding-Kampagne für das Smart-Home-Produkt durch, die auf seiner Youpin-Plattform gehostet wurde. Laut der Seite hat der Versand des Geräts bereits begonnen

Anfang September 2024 wurde das 140-W-Ladegerät Zolo von Anker durchgesickert, und das war eine große Sache, da es sich um das erste Wandladegerät mit Display des Unternehmens überhaupt handelte. Jetzt gibt uns ein neues Unboxing-Video von Xiao Li TV auf YouTube einen ersten Blick auf den Hi

Die Einführung des lang erwarteten faltbaren „Special Edition“-Modells von Samsung hat eine weitere Wendung genommen. In den letzten Wochen verliefen die Gerüchte um die sogenannte Galaxy Z Fold Special Edition eher ruhig. Stattdessen hat sich der Fokus auf die Galaxy S25-Serie verlagert, darunter

Mit einer Geschichte von über einem Jahrzehnt gilt Manjaro als eine der benutzerfreundlichsten Linux-Distributionen, die sowohl für Anfänger als auch für Power-User geeignet ist und einfach zu installieren und zu verwenden ist. Diese Arch-basierte Distribution wurde hauptsächlich in Österreich, Deutschland und Frankreich entwickelt
