‘phpde üzerine yazma’ olarak etiketlenmiş yazılar

Üzerine Yazma (Devre Dışı Bırakma) - Overriding

Pazartesi, 16 Şubat 2009

<?php

echo “baslangic…<br/>”;
echo “<b>PHP - Nesneye Dayali Programlama (Object Oriented PHP)- Üzerine Yazma (Overriding)</b> <br/><br/>”;

class A
{

function fonksiyon1()
{
echo “A sınıfındaki fonksiyon1 işletildi.<br/>”;
}

function fonksiyon2()
{
echo “A sınıfındaki fonksiyon2 işletildi.<br/>”;
}
}

class B extends A
{

function fonksiyon1()
{
echo “B sınıfındaki fonksiyon1 işletildi<br/>”;
parent::fonksiyon1();
}

}
$a=new A();        //yeni bir A sınıfı oluşturduk
$a->fonksiyon1(); // A sınıfının fonksiyonu işlettik ve ekrana “A sınıfındaki fonksiyon işletildi.” çıktısı aldık.
$a->fonksiyon2(); // A sınıfının fonksiyonu işlettik ve ekrana “A sınıfındaki fonksiyon2 işletildi.” çıktısı aldık.

$b=new B();
$b->fonksiyon1(); // B sınıfının fonksiyonu işlettik ve ekrana “B sınıfındaki fonksiyon işletildi.” çıktısı aldık.
$b->fonksiyon2(); // B sınıfının fonksiyonu işlettik ve ekrana “A sınıfındaki fonksiyon2 işletildi.” çıktısı aldık.

echo “son”;

/*sonuçta şu çıktıyı ekranda gördük :

baslangic…
PHP - Nesneye Dayali Programlama (Object Oriented PHP)- Üzerine Yazma (Overriding)

A sınıfındaki fonksiyon1 işletildi.
A sınıfındaki fonksiyon2 işletildi.
B sınıfındaki fonksiyon1 işletildi
A sınıfındaki fonksiyon1 işletildi.
A sınıfındaki fonksiyon2 işletildi.
son

SONUÇ : B sınıfı nesneye dayalı programlamanın kalıtım özelliği sayesinde A sınıfının işlevselliğini üzerine alabilmektedir.
Bu işlevsellikten iki tanesi A sınıfı içinde tanımlanmış,fonksiyon1 ve fonksiyon2 fonksiyonlarıdır.
A sınıfı işlevselliklerini kalıtım olarak üstüne alan B sınıfından türetilen bir b nesnesi bu fonksiyonları çağırabilir ve işletebilir,ama eğer
bu fonksiyonlardan bazıları B sınıfı içindede aynı isimle tanımlanmışsa bu durumda b nesnesi kendi sınıfı içinde tekrar tanımlanmış yani üzerine yazılmış olan
işlevselliği kullanır,Aynı fonksiyonun A sınıfı içindeki işlevselliğine başvurmaz.

Kalıtımı alan sınıfta üzerine yazılmış bir fonksiyon olsa dahi,kalıtımı yapan sınıftaki fonksiyonu kullanmak isterseniz o zaman parent anahtar sözcüğünü
kullanabiliriz.
*/

?>
kodlamada kullanılan html taglari :
<b>bu tagler arasındaki yazı ekrana kalın yazılır</b>
</br>ekrana çıkan yazıda satır atlanmasını bildirir.