Ben çıkış görüntülenir hangi yol hakkında bir sorum var.
<?php
class Base
{
private $privattrib = "Private Attribute1";
function GetAttrib()
{
echo $this->privattrib;
}
}
class Derived extends Base
{
private $privattrib = "bute";
function GetAttrib()
{
parent::GetAttrib();
}
}
$b = new Base();
$d = new Derived();
$d->GetAttrib();
>
Yani yukarıdaki kod için ben bir kaç soru var:
Ben üst çağırdığınızda :: GetAttrib (), $ bu değeri (Base adlı GetAttrib () yöntemi) artık bir Base nesnesi haline geliyor ya da hala bir Türetilmiş nesnedir?
Çıktıya "Özel özellik1" dir. $ Bu Türetilmiş bir nesneye başvuruyorsa Özel nitelik taban sınıfta overrided olduğundan, ekranda "bute" olmamalıdır?
Ben halka privaattrib hem değiştirirseniz, çıktı şimdi "bute" dir. Neden bu?