MQL5'te OOP hakkında sorular - sayfa 56

 
Aleksey Mavrin :

Bana bir çok kez aptal olduğumu ve hiçbir şey anlamadığımı, sabrımla gurur duyduğumu ve seni uzun zamandır hak ettiğin gibi göndermediğimi söyledin)

Aslında, iç içe sınıf, özel alanlar için genel yöntemleri isteğe bağlı hale getirir, bu da tam olarak bahsettiğiniz kapsülleme ihlalidir. Diğer argümanlar neler?

Aptallığını o kadar kararlı bir şekilde gösteriyorsun ki, seni hak ettiğin şekilde oraya göndermeyi tercih ederim.

Yuvalanmış sınıf, onun hakkında yazdıklarınızı yapmaz. Ve Guardian modelinin görevi, iç içe bir sınıf olmadan ve gereksiz genel yöntemler olmadan çözülebilir.

Size hatırlatmama izin verin: işte iç içe sınıf ve genel yöntemlerle bir örnek.

 
Dmitry Fedoseev :

Aptallığını o kadar kararlı bir şekilde gösteriyorsun ki, seni hak ettiğin şekilde oraya göndermeyi tercih ederim.

Yuvalanmış sınıf, onun hakkında yazdıklarınızı yapmaz. Ve Guardian modelinin görevi, iç içe bir sınıf olmadan ve gereksiz genel yöntemler olmadan çözülebilir.

Bakalım sonunda kim gidecek))

yuvalanmış bir sınıf ne yapmaz?

"Özel alanlar için genel yöntemler oluşturulduğu için kapsülleme bozuldu" yazdınız.

İç içe sınıf, genel yöntemlerin oluşturulmasına gerek kalmadan özel alanlara erişebilir.

ps Derecelendirmeye bakılırsa, burada düzenlisiniz. Ama iletişimi ve diyaloğu öğrenmelisin. Ama bunu hayatında görmene gerek yok.

 
Aleksey Mavrin :

Bakalım sonunda kim gidecek))

iç içe sınıf ne yapmaz?

"Özel alanlar için genel yöntemler oluşturulduğu için kapsülleme bozuldu" yazdınız.

İç içe sınıf, genel yöntemlerin oluşturulmasına gerek kalmadan özel alanlara erişebilir.

ps Derecelendirmeye bakılırsa, burada düzenlisiniz. Ancak iletişimi ve diyaloğu öğrenmelisiniz. Ama bunu hayatında görmene gerek yok.

Size hatırlatmama izin verin: iç içe sınıf ve genel yöntemlerle bir örnek (yani, iç içe bir sınıf, genel yöntemler oluşturma ihtiyacından kurtulmanıza hiç yardımcı olmadı).

Yuvalanmış bir sınıf, nesnenin değil, yalnızca sınıfın görünürlüğü meselesidir. Yuvalanmış bir sınıf, açıklandığı sınıfın dışında bu sınıfın bir nesnesini yaratmanıza izin vermez. Bu nedenle, gitmeniz gerekecek.

 
Aleksey Mavrin :

İşte bu - doğru yapı. Bunu yapmak için, bu yapı için tüm olası seçenekleri göz önünde bulundurmaya, bu görevdeki artılarını ve eksilerini analiz etmeye (genişletilebilirlik ve bakım gerekliliklerini dikkate alarak) ve en iyisini seçmeye değer.

Ve kötü şöhretli kalıpların kendileri (özellikle ne anlama geliyorsa) burada yapının bir varyantı bile değil, sadece beynin çalışması için bir referans noktası. "Problem X modelinin probleminin tanımına uyuyorsa, o zaman X modeli uygulanarak çözülebilir" gibi, ancak bunu bir sürü başka yolla çözebilirsiniz.

Ve genel olarak, bu temel 27 kalıp - sonuçta, bir zamanlar, programcılara tipik görevler hakkında bir ipucu olarak, OOP ilkelerini gözlemlerken bunları nasıl çözecekleri olarak doğdu. Dmitry'nin yapılarla yaptığı gibi ilkeleri takip etmeye değmezse, o zaman hiçbir kalıba gerek yoktur.

teşekkürler iyi yazı

Tartışmadaki diğer katılımcılardan farklısınız;)

 
Dmitry Fedoseev :

Size hatırlatmama izin verin: iç içe sınıf ve genel yöntemlerle bir örnek (yani, iç içe bir sınıf, genel yöntemler oluşturma ihtiyacından kurtulmanıza hiç yardımcı olmadı).

Yuvalanmış bir sınıf, nesnenin değil, yalnızca sınıfın görünürlüğü meselesidir. Yuvalanmış bir sınıf, tanımlandığı sınıfın dışında, bu sınıftan bir nesne oluşturmanıza izin vermez . Bu nedenle, gitmeniz gerekecek.

Hayır)) aptallık)) Yuvalanmış bir sınıfın, SINIFIN İÇİNDE YER ALDIĞI TÜM ÖZEL ALANLARINA erişimi vardır. Bilmiyor musun? o zaman konuşacak bir şey olmadığı açık))

Ve bu, Anlık Görüntü için tüm nesneyi kopyalamanız gerektiğini yazdığınız saçmalıkları saymıyor ..))) Görünüşe göre ... Yakında geri dönmezseniz umrumda değil))

 
Igor Makanu :

teşekkürler iyi yazı

Tartışmadaki diğer katılımcılardan farklısınız;)

Igor, hem nazik sözlerin için hem de karşılıklı olarak yararlı yapıcı bir tartışma için ilginç konular yarattığın için teşekkür ederim;)

 
Aleksey Mavrin :

Hayır)) aptallık)) Yuvalanmış bir sınıfın, SINIFIN İÇİNDE YER ALDIĞI TÜM ÖZEL ALANLARINA erişimi vardır. Bilmiyor musun? o zaman konuşacak bir şey olmadığı açık))

Ve bu, Anlık Görüntü için tüm nesneyi kopyalamanız gerektiğini yazdığınız saçmalıkları saymıyor ..))) Görünüşe göre ... Yakında geri dönmezseniz umrumda değil))

Yuvalanmış sınıfa ne diyorsunuz?

Buraya fotoğrafla ilgili bir şey yazmadım.

 
class C1{
   protected :
       int x;
       class C2{
         protected :
         public :
         C2(){
            x= 1 ;
         }
      };      
   public :
};

C2'den x'e erişim nerede?

Tekrar ediyorum, iç içe sınıf, nesne oluşturma için yalnızca bir sınıf görünürlüğü meselesidir. C2 sınıfı bir nesne yalnızca C1 sınıfı içinde oluşturulabilir. Ve hepsi bu. Kayıt türünden tek fark budur:

 class C1{
   protected :
       int x;
   public :
};

class C2{
   protected :
   public :
   C2(){
      x= 1 ;
   }
}; 


Ama tabii ki, başka bir şeye iç içe sınıf mı diyorsunuz? Ne söyle.

 
Ah ah )
 
TheXpert :
Ah ah )

sen de bilmiyor muydun?