• 06-01-2009, 15:28:09
    #1
    Bugün kendim için bişeyler yazarken, ne kadar hoş olduğunu fark ettim, böyle birden içim ısındı bu extends olayına =)
    peki nedir bu extends zımpırtısı? kilimcinin kör oğlu diyip geçmeyeceğiz.

    şöyle anlatayım, bir sınıf oluşturduk. belli özelliklere , belli metodlara sahip.
    yeni bir sınıf daha yaratacağız. fakat bu bir öncekine çok benzer. aynı kodları içeriyor, ekstrası var. binevi uzatıyoruz diyelim.

    yada kafanızda kalması açısından şöyle bir örnek vereyim,
    eski class'ımız mısırdaki şimdiye kadar hiç görmediğimiz zengin akrabamız oluyor. ve ölüyor. ne olur? mirası bize kalır yani yeni varis'e. işte PHP'de tek farkı, gerçekten ölmez. eskiside hala kullanılır. ama eskisinin özelliklerine sahip yeni bir nesne oluşturmuş oluruz. onun mirasının üstüne yeni özellikler eklenmiş olur.

    kullanımı basitce anlatayım, devamında örnek verdiğimde daha iyi anlayacaksınız.

    eski sınıfımız: yazar
    olsun.
    yeni olusturacagımız sınıfımızda: forum
    olsun.

    bu şekilde açacağız yeni açacağımız class'ı.
    class forum extends yazar { 
    // yeni sevdim-alamadım diyalogları.
    }
    hemen şimdi canlı, çalışır örnek yapalım:

    class1:

    class yazar{ 
    var $nick;
    var $alan;
    var $hobi;
    
    function yazargir($gir) { 
    $this->nick=$gir;
    }
    function ilgi_alani_gir($gir) { 
    $this->alan=$gir;
    }
    function hobigir($gir) { 
    $this->hobi=$gir;
    }
    function yazargoster(){ 
    echo 'Rumuz : '.$this->nick;
    echo '<br>Alani : '.$this->alan;
    echo '<br>Hobileri : '.$this->hobi;
    }
    }
    herneyse biraz saçmalamış olabilir =) yazım hatası vs olabilir, şuan stajdayım işim gücüm yok diye direk ilk ağızdan makale yazıyorum.
    yeni class'ımızı oluşturalim extends kullanarak.

    class forum extends yazar{
    var $forumismi="r10net";
    
    function forumcu($nicki,$alani,$hobisi) { 
    yazargir($nicki);
    ilgi_alani_gir($alani);
    hobigir($hobisi);
    echo $nicki.' adli yazar '.$this->forumismi.' forumuna dahil edildi';
    }
    }
    Minnacık bişeyi bu kadar uzun uzun, karıştıra karıştıra anlattım ama, can sıkıntısı işte : ) olduysa yanlışlarımı görmek isterim.
    bendeniz DooMsDaY ile bir PHP dersi daha bitmiştir sanki kaçtane vardıda
  • 06-01-2009, 15:34:37
    #2
    Üyeliği durduruldu
    ellerinize sağlık güzel yazı olmuş daha private var public var __construct var __get var add var falan var filan var aşkım php
  • 06-01-2009, 15:38:47
    #3
    sdemirkeser adlı üyeden alıntı: mesajı görüntüle
    ellerinize sağlık güzel yazı olmuş daha private var public var __construct var __get var add var falan var filan var aşkım php
    teşekkür ederim, beğenmenize sevindim. private , public olaylarını fln şimdi katmayalim zaten php onlarla kendini gösterdi nesneye dayalı programlamada "ben burdayım" diye

    @genel: nickimi silmeden makalemi kullanabilirsiniz. alıntı serbest.
  • 06-01-2009, 15:44:03
    #4
    Üyeliği durduruldu
    başlamışken class özelliklerinin tamamını anlatmak lazim aslinda
  • 06-01-2009, 16:14:38
    #5
    sdemirkeser adlı üyeden alıntı: mesajı görüntüle
    başlamışken class özelliklerinin tamamını anlatmak lazim aslinda
    yazarım dersen, tutana aşk olsun

    dipnot: yazmayı düşünürsen, pm at ortaklaşa paylaştırıp beraber yazabiliriz.
    yardımcı olmak isterim
    .
  • 06-01-2009, 16:28:58
    #6
    Üyeliği durduruldu
    DooMsDaY adlı üyeden alıntı: mesajı görüntüle
    yazarım dersen, tutana aşk olsun
    dipnot: yazmayı düşünürsen, pm at ortaklaşa paylaştırıp beraber yazabiliriz.
    yardımcı olmak isterim
    .
    yazmayı düşünmüyorumda görüntülü anlatmayı düşünüyorum ) classları php4 te ve php5 te ayrı ayrı anlatmak lazım. bi taslak çıkarmak için manuelden dersime çalışıyorum henüz )
  • 06-01-2009, 20:07:26
    #7
    İlyas abi yararlı bir döküman, emeklerine sağlık.
  • 06-01-2009, 21:33:49
    #8
    ilyas bu yaza kadar PHP ögrettin ögrettin ögretemedin
    ---------------------------
    güzel bir yazı olmuş sıfırdan başlayalımda ilerleyince işime yarayacak atayım arşive ..
  • 06-01-2009, 21:38:42
    #9
    aslına bakarsanız o kadarda action bişey değil arkadaşlar. basit bi class kullanımı. fakat ben stajda zamanım boldu diye, yaydıra yaydıra anlattım.