SORU
10 ŞUBAT 2011, PERŞEMBE


Uygulamak ve genişletmek için ne zaman?

PHP OOP için oldukça yeni olmasının gerçekten zor 0 ** ı extend sınıflar başımı almak ve gerçek dünya örnekleri içine bu koymak için buldum. Sadece benim braincell yavaş ben yukarı ve aşağı ve belki sayfa okudum ama daha çok kafam karışıyor ne ben ne okudum.

Soru: her ikisinin de kullanımı doğru ve benim açıklama aşağıda bulunan uygulamak uzatmak anladım mı?


Uygulamabazı yöntemler bir sınıf içinde var olan zorlamak için bir yol gibi görünüyor, ve bu yöntemler bu işlev çağrıları düzgün biçimlendirilmiş. Uyguluyordeğilgeçen değişkenlerin bir yol ya da "ayarlar" ama sınıf?

-Hayatın gerçek senaryosu beklenen:Tümü aynı tasarıma takip eden e-ticaret platformu birden fazla ödeme sınıfları içeren bir var. Yeni bir ödeme sınıf eklenmelidir, gerçekten kolay interface tanımlanan tasarım tüm parçalar orada olduğundan emin olmak için, baştan izleyin.

Uzanansınıflar genişletilmiş (çocuk?) Sınıf private olarak ilan yöntemler ve Değişkenler dışında, üst sınıftan da herşeyin?

-Hayatın gerçek senaryosu beklenen:Bir sınıf, iki alt sınıflar sessioncookies databasesessions adlı sessions aradım. sessioncookies databasesessions birlikte üst oturumları karşılıklı yapılandırma seçenekleri, kolay nihai ziyaretçi veri depolama her türlü etkiler için bir yapılandırma seçeneği değiştirmek için yapım devralır.

CEVAP
10 ŞUBAT 2011, PERŞEMBE


Miras kod miktarını azaltmak için yararlıdır seni yeniden. Eğer birkaç sınıfları ile bir kaç yöntem veya alanları yerine tanımlama bu yöntemleri ve alanları tekrar yapabilirsiniz faktörü içine bir temel sınıf var ve her çocuk sınıfları genişleten temel sınıf.

Arabirimler (implements) bir ortak tanımlamak istediğinizde kullanışlıdırprotokolnesne grubu nasıl davranması gerektiği için. Örneğin, benzer bir eşitlik ve nesneleri, vb sağlaması için karşılaştırılabilir hüküm isteyebilirsiniz.

Kalıtım kullanarak sonuçta tasarım bir seçimdir. Çeşitli sınıflar arasında aynı yöntemleri tanımlamak; o bu yöntemleri temel bir sınıf içine faktör olabilir mükemmel durumda olduğu durumlar için tetikte olun. Aynı bazı özellikleri gözlemlemek sınıflar için de geçerli: bir arabirim bu özellikleri o ilgili sınıfları tarafından uygulanacak koyarak tutarlılık garanti edemez.

Miras yolu sadece PHP ötesinde OOP büyük bir kavramdır. the wikipedia article on inheritance belki de Design Patterns by the Gang of Four okumanızı tavsiye ederim.

Miras anlayışınız esas olarak doğru olduğuna inanıyorum. Bir sonraki adım, üretimde kullanmak olacaktır.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Benjamin Heckendorn

    Benjamin Hec

    4 Mayıs 2008
  • Charles Nesson

    Charles Ness

    27 NİSAN 2006
  • SRI International

    SRI Internat

    30 NİSAN 2008