O kendi foo bildirir uzun bir sınıftan foo ilk deklarasyonu çağrılması

0 Cevap php
<?php
class a {
    public function foo() {
        echo __METHOD__ . PHP_EOL;
    }
}
class b extends a {
    public function foo() {
        $this->foo(); # I want to call a's foo method here.
        echo __METHOD__ . PHP_EOL;
    }
}
class c extends a {
    public function foo() {
        echo __METHOD__ . PHP_EOL;
        $this->foo(); # I want to call a's foo method here.
    }
}
class d extends a {
    # This class does not handle anything super special in our foo step, so I don't over write a's foo();
}
$a = new a; $a->foo();
$b = new b; $b->foo();
$c = new c; $c->foo();
$d = new d; $d->foo();
?>

Sana hiç böyle bir şey yapmak isterim neden anlamaya çalışıyorum kafasını kaşıyor birkaç vardır eminim, o yüzden bu mantıklı söz veriyorum, açıklamama izin ver.

Hepsi yapmanız gerekir bu yüzden kendini ve ben bazı işlevler eklemek için taban sınıfı üzerine uzatmak diğer bazı sınıfları tarafından gayet güzel çalışan bir işlevi var, bu sınıflar aynı görevi yapmak ama farklı bir bağlamda veya ek bilgi ile ebeveyn sınıfının adımlarla ama onlar da bazı durumlarda bazı özel alt ayarlanmış gereken yapılacak.

Ben hala en foo yöntemi ve benim alt sınıflar foo yöntemi yürütebilirsiniz bir yolu var mı?

Talimatları içeren ki) ben yöntemini bir dosya yapma gibi bazı korkunç kesmek ile bu düzeltmek ve daha sonra üst işlevi hem de bu dosyaya dahil olabileceğini biliyorum ve gerektiğinde bu kardeşler, ya da ben bar (denilen ikinci bir yöntemi yapabiliriz foo () ve foo (işlevselliğini gerektiğinde benim alt sınıflar foo () ancak çağrısı bar () üzerine yaz var). Ben bazı oldukça ilginç kesmek kullanmadan bunu yapabilirsiniz, ben sadece merak ediyorum, ben burada birisi bana öğretmek olduğunu PHP hakkında bilmediğiniz bir şey var mı?

0 Cevap