Nesne yönelimli programlamaya dair

Static Metod(video)

Static class’lar server üzerinde bir kere oluşturulurlar ve  burada  bir yer kaplarlar .Sonraki çağrışlarımızda RAM’de kayıtlı olan yerden var olanı geri getirirler.New komutu ile oluşturulan nesnelerde ise sınıf her defasında RAM’e baştan yüklenir, böylece performans kaybı olur.Static metodlar ise RAM’de daha önce var olanı çağırdığı için performansta bir üstünlük sağlamış olur.Konu ile ilgili video:

Yorum: "Static Metod(video)" (9)

  1. Tolga Akardeniz said:

    A.S.

    İlyas sorunu cevaplamak istiyorum.

    hayır yok sadece statik classlar direk çağırılabilir belirttiğin gibi ali::deneme_fonksiyonu();

    diğerleri bir değere atanır nedeni

    $deger1 = new VeriTabaniBaglantilari();

    $deger1->user = 1;

    static olmayan class fonksiyonları değer üzerinden saklanma muamelesi görür.

    $deger2 = new VeriTabaniBaglantilari();

    $deger2->user = 2;

  2. Tolga Akardeniz said:

    Arkadaşlar her yerde baktım static ile public arasındaki fark şudur anladığım kadarı ile static tanımlarsanız kullanacağınız class içerisinde geçen değerler $this olmadan yani yeni oluşturacağınız $d = new benimclass(); $d nesnesi içnde $c = new benimclass(); $c nesnesi içinde aynısı dönecek ama public kullanırsanız $d = new benimclass(); tanımlandığında $this yani bu tanımladığımız $d nesnesinin içindeki public değeri ile $c = new benimclass(); $c nesnesinin içindeki değer bir olmayacaktır.

    Static türündeki class lar sadece içeri her yerden okunsa bile hep aynı sonuçları döndürecek class lardır

    Public türündeki class lar ise tanımlandığı nesnenin altında çalışır

    static = global $c;

    public = o alan altında çalışır

    aşağıdaki kodlardan anlarsınız umarım

    class _prm
    {
    public $_prm = array();
    }

    $deneme = new _prm();

    $deneme->_prm[“ddd”] = 4444444444;

    var_dump($deneme->_prm);

    $dene = new _prm();

    $dene->_prm[“sssssssss”] = 2222222222;

    var_dump($dene->_prm);

  3. Tabi ki en çok kullandığın fonksiyonları static olarak tanımlaman en mantıklısı.Bunun için var zaten static metod.
    Güvenlik olayına gelince o kodu yazan kişiye göre değişir.Metodlarımızı private olarak tanımlamak tek başına güvenli kılmaz ki kodlarımızı.Kodlarımızı güvenli hale getirmenişn de bir çok yolu var. Bence alınabilecek belli başlı güvenlik önlemlerini alıp , bu işi paranoya haline getirmemek en iyisi.Yoksa %100 güvenli kod yoktur.

  4. Halit Harun Gemalmaz said:

    Selamunaleyküm hocam
    Bu static metot için söylüyorum. Madem bu metot performans açısından yazılımı olumlu etkiliyor. Sık kullandığımız bütün fonksiyonları static olarak tanımlarsak güvenlik açısından bir sorun yaşanırmı. Yani static methodu ne tip methodlarda kullanmalıyız hangilerinde kullanmamalıyız?

  5. Hocam açıklama için teşekkür ederim :)..
    Bu oop olayını çok sevdim. Sanırım takıldığım yerde sürekli size soracağım.. :)

  6. Hayır static olmayan metodları çağırman için ilgili classın bir örneğini muhakkak oluşturman gerekir.
    Yani
    $s=new Classadi();
    $s->MethodAdi();
    şeklinde çağırman lazım.

    Ama class içerisindeki static metodlara sınıfın bir örneğini oluşturmadan ulaşabilirsin.
    Yani;
    ClassAdi::MethodAdi(); Şeklinde.

    static metodları yeni bir class örneği oluşturarak da çalıştırabiliriz.Ama programlama mantığına göre yanlış yapmış oluruz.Çünkü metod , sabit veya değişkenleri static olarak tanımlamamızdaki amaç zaten yeni bir class oluşturmadan direk o metod,sabit veya değişkene erişmektir. New olarak çağrılan classlar her çağırşımızda Ram’de yeni bir obje oluşturup hafızada belli bir yer işgal ederler.Onun içindir ki tek başına kullanacağımız metodları her zaman static olarak tanımlamamızda ,Ram’i şişirmeme adına çok büyük faydası olacak ve bu da bize artı performans olarak geri dönecektir

  7. Selamun aleyküm

    Hocam OOP öğrenmeye çalışıyorumda bir sorum olacak işin içinden çıkamadım.
    Classımda 2 tane foknsiyon var birini statik yapıyorum. index.php de statik olan Classı “classAdi::fonksiyonAdi();”
    şeklinde çağırıyorum çalışıyor.
    statik olmayan fonksiyonu çağırmak için index.php de new ile classın bir örneğini oluşturduğumda statik olmayan fonksiyonun özelliklerine ulaşabiliyorum.

    meraketiğim şey;
    statik olmayan method ları çağırdığımızda new ile örneğini oluşturmamız şartmı ? başka bir yöntemi varmı acaba ?

  8. Teşekkür ederim .

  9. Gökhan said:

    hocam çok iyi bir anlatım olmuş. ellerinize sağlık devamını bekliyoruz

Yorum yapmak için: "Static Metod(video)"