• 08-09-2009, 00:50:00
    #10
    oop başlangıcı için çok güzel bir anlatım, eline sağlık kardeşim.
  • 08-09-2009, 02:34:08
    #11
    süpersin bhcoderim devamını bekliyoruz.
  • 08-09-2009, 10:11:19
    #12
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Şurası karıştırılmasın

    var $yazi1;
    var $yazi2;

    function metin($yazi1,$yazi2)

    fonksiyonda istenen değişkenler ile sınıf içinde tanımlanan değişkenler birbirinden tamamen farklıdır.

    Birisi sınıf içinde public değer anahtarı atanmış bir değişkendir bir nevi sınıf içinde global tanımlanmış bir değişkendir ve sınıfın her yerinden $this->yazi1 gibi bir ifade erişebilirsiniz diğeri ise sadece fonksiyonun aldığı değeri işaret eden değişkendir. Yani

    function metin($yazi1,$yazi2)
    {
    echo $this->yazi1.'<br>'.$this->yazi2;
    }

    size fonksiyona girilen parametreleri değil sınıf içinde set edilmiş yazi1 ve yazi2 değişkenlerin içeriklerini döndürür.

    class ornek
    {
    	public $yazi1 = 'yusuf';
    	public $yazi2 = 'koç';
    	
    	public function metin($yazi1,$yazi2)
    	{
    		echo 'Bu Değerler Sınıf içinde Set Edilmiş Değişkenlerin İçeriği: <br>';
    		echo $this->yazi1.'<br>';
    		echo $this->yazi2.'<br><br>';
    		
    		echo 'Bu Değerler Fonksiyona Verilmiş Değişkenlerin İçeriği: <br>';
    		echo $yazi1.'<br>';
    		echo $yazi2.'<br><br>';		
    	}
    }
    
    $ornek = new ornek;
    $ornek->metin('deneme','teneke');
  • 08-09-2009, 10:30:09
    #13
    Üyeliği durduruldu
    bende oop anlatmak için plan yapiyordum ama daha konu listesini bile çıkarabilecek kadar aklımda şekillendirebilmiş degilim. autoload file anlatmak lazim çünkü

    ellerine dillerine saglik
  • 08-09-2009, 10:39:16
    #14
    Public değişkenlere class dışındanda ulaşılıp değerleri değiştirilebilir, class içindende ulaşılabilir, uye fonksyonlar aracılıyla

    Private değişkenlere ise sadece class içindeki uye fonksyonlar erişebilir,class dışından ulaşılmasını istemedğimiz değişkenleri private tanımlarız, boylece dışarda yapılacak istenmeyen sistemin dengesini değiştirecek değişiklikler önlenmiş olur, nesneye dayalı programlamanın bir kolaylıgıda budur data hiding

    Protected tek classda kullanimi itibariyle private'a benzesede bazı farkları vardır, Private değişkenlere uye fonksyonlara türetilmiş classlardan erişim olmaz tam guvenlidir fakat protected değişkenlere class'ınızdan yeni bir class türeterek ulaşılabilir, buda türetme derive etme olayıda oop'un getirdiği kolaylıklardan biridir devir miras kalıtım anlamında inheritance kelimesi kullanilir

    Uye fonksyonlar ise class'in içimde tanımlanmış fonksyonlardır bunlarda private veya public olarak tanımlanabilirler, private olanlara sadece class içinden diğer uye fonksyonlar aracılığı ile ulaşılır cağırılır, public olanlara ise nesne aracılığı ile direkt ulaşılabilir çağırılabilir.
  • 08-09-2009, 10:49:59
    #15
    Teşekkürler hocam eline sağlık ancak benim aklıma takılan soru şu, class kullanmadan sadece fonksyon kullansak ne zararımız olur veya class kullanmanın yararı nedir?
  • 08-09-2009, 10:53:34
    #16
    @justicecrusades
    protected da vardır.

    @uni
    declare hatalarından kurtulursun. projelerine kolay dahil edersin. Çalışma arkadaşların kodları anlamakta zorlanmaz ve daha nicesi.
  • 08-09-2009, 11:07:55
    #17
    Protected varda phpde varmı tam emin deildim ondan yazmadım
    Protected tek classda kullanimi itibariyle private'a benzesede bazı farkları vardır, Private değişkenlere uye fonksyonlara türetilmiş classlardan erişim olmaz tam guvenlidir fakat protected değişkenlere class'ınızdan yeni bir class türeterek ulaşılabilir, buda türetme derive etme olayıda oop'un getirdiği kolaylıklardan biridir devir miras kalıtım anlamında inheritance kelimesi kullanilir
  • 08-09-2009, 11:08:56
    #18
    class ile object arasındaki ilişkiyi anlatan java örnegi

    Bisiklet sınıfı tanımlanıyor, 3 adet baslangıc özelligi veriliyor ve fonksiyonlar belirtiliyor.
    class Bicycle {

    int cadence = 0;
    int speed = 0;
    int gear = 1;

    void changeCadence(int newValue) {
    cadence = newValue;
    }

    void changeGear(int newValue) {
    gear = newValue;
    }

    void speedUp(int increment) {
    speed = speed + increment;
    }

    void applyBrakes(int decrement) {
    speed = speed - decrement;
    }

    void printStates() {
    System.out.println("cadence:"+cadence+" speed:"+speed+" gear:"+gear);
    }
    }


    Daha sonra 2 adet Bycycle sınıfından bike1 ve bike2 adında bisiklet objesi(nesnesi) oluşturuluyor.

    class BicycleDemo {
    public static void main(String[] args) {

    Bicycle bike1 = new Bicycle();
    Bicycle bike2 = new Bicycle();

    // Invoke methods on those objects
    bike1.changeCadence(50);
    bike1.speedUp(10);
    bike1.changeGear(2);
    bike1.printStates();

    bike2.changeCadence(50);
    bike2.speedUp(10);
    bike2.changeGear(2);
    bike2.changeCadence(40);
    bike2.speedUp(10);
    bike2.changeGear(3);
    bike2.printStates();
    }
    }

    Kısacası sınıflarla özellikleri tanırsınız. Mesela otomobil'in standart özellikleri vardır. 4 tekeri olması, vitesi, motoru gibi. Fakat birbirlerinden ayrılan özellikleri bunların üstüne oluşur. Birinin lastiği kaliteli, motoru v8 olabilir. Diğeri ise normal bir lastik v4 motor olabilir.
    İşte nesne farkı budur. Yani standart gelen şeyler üzerine spesifik tanımlar katmak ve bunları kullanmak.