Portál AbcLinuxu, 12. května 2025 02:06
Jedna z možných odpovědí by mohla být:
Start::mess();Odpovědí si jsem jistý, ale neznám znění otázky.
Asi by sis měl urovnat rozdíl mezi třídou a její instancí. Je totiž rozdíl v tom, jestli mluvíš o metodách statických (což jsou metody tříd), nebo metodách těch samotných objektů (tedy metody už instancí daných tříd). Podle toho, co píšeš, bych odvodil, žes mohl myslet něco takovéhoto:
..a výstup by byl: class Start{
public function __construct(){
// Tuto instanci třídy Start uložíme třídě Akce do statické proměnné
// To znamená, že touto jedinou instancí mohou disponovat všechny instance třídy Akce.
Akce::setStartObject($this);
}
public function Hello(){
echo "Hello ";
}
}
class Akce{
private static $start_object = null;
public static function setStartObject(Start $object){
self::$start_object = $object;
}
public function Whatever($whatever){
echo $whatever;
}
}
// Tato jediná vytvořená instance třídy Start bude nyní dostupná
// ve všech budoucích instancích třídy Akce
$start_object = new Start();
// Takže:
$akce_jedna = new Akce();
$akce_jedna->Whatever("World <br>");
$akce_dva = new Akce();
$akce_dva->Whatever("Universe <br>");
Ale je dost možné, že jsi to myslel úplně jinak a pak je výše uvedené hromada kydů. Takže se zkus příště vyjádřit komplexněji :)Hello World
Hello Universe
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.