SORU
4 NİSAN 2009, CUMARTESİ


Neden Temel İşlevleri üzerinde PHP OOP Kullanmak ve ne Zaman?

Bu konu hakkında bazı mesajlar vardır, ama vardır Nesne Yönelimli kodlama kullanma ve programlama fonksiyonları kullanmak için ne zaman net olarak alamadım. Biri de OOP çok ağır çalıştırmaktır bahsetti, ve daha fazla iş yükü yapar. Bu doğru mu?

Sağlar 50 fonksiyonları ile büyük bir dosya var, neden bir sınıf bu, merak edecek miyim? ve function_name(). Anahtarı ve benim tüm fonksiyonları tutan nesne oluşturmak gerekir? Avantaj ya da özel fark ne olacak? Faydaları php kodunu OOP ne getiriyor ? Modüler?

CEVAP
4 NİSAN 2009, CUMARTESİ


Senaryolar çok, prosedürel programlama gayet iyi. Kullanmadan uğruna OO kullanarak özellikle eğer sadece POD nesne (düz eski veri) ile sonuna kadar gidiyoruz işe yaramaz.

OO gücünü esas olarak veraset ve polimorfizmi geliyor. Sınıfları kullanın, ama asla bu iki kavram ya da kullanıyorsanız, muhtemelen ilk etapta bir sınıf kullanarak gerek yok.

En iyi biri OO parlıyor, sen-anahtar türü kodu kurtulmak için izin olduğunu IMO yerler. Düşünün:

function drive($the_car){

  switch($the_car){

    case 'ferrari':
      $all_cars->run_ferrari_code();
    break; 
    case 'mazerati':
      $all_cars->run_mazerati_code();
    break; 
    case 'bentley':
      $all_cars->run_bentley_code();
    break; 

  }

}

onun OO ile alterantive:

function drive($the_car){

  $the_car->drive();

}

Polimorfizmi" olmasını, zamanı bilgilere dayanarak. "sürüş doğru tür sağlar


Polimorfizmi ile ilgili notlar:

burada bazı premisses ikinci örnek: tüm araç sınıfları da abstract bir sınıf uzatmak veya uygulamak interface . bir olur

hem sana uzanan ya da uygulama sınıfları belirli bir fonksiyon drive() gibi tanımlamak için zorlamak için izin verir. Bu çok güçlü olarak verir sana drive() tüm arabalar kalmadan, nereden sürüyorsun; çünkü onlar uzanan soyut bir sınıf içeren drive() yöntem veya uygulama arabirimi zorlama drive() yöntem tanımlı olması gerekir.

bu yüzden bütün özel araba ya da soyut sınıfını genişletme car canBeDriven gibi bir arabirim uygulamak emin olun sürece (her ikisi de olmalıilandrive() yöntem) sadece çağrı drive() yöntem bir nesne olan bir araba (ama ne tür bir araç) olmadan korku değil olarak tanımlanan, php atar ölümcül hatalar senin kadar tanımladığınız bu yöntemler içinde özel araç sınıfları

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Greater Than Gatsby Photoshop Actions & Lightroom Presets

    Greater Than

    11 ŞUBAT 2013
  • Orson Wang

    Orson Wang

    28 EKİM 2006
  • Within Temptation

    Within Tempt

    18 EYLÜL 2006