"MQL5 Programlama Temelleri: Listeler" makalesi için tartışma - sayfa 7

 
Switch kullanma zorunluluğu nedeniyle, tüm nokta kaybolur. Eğer durum buysa, her türden nesne için farklı bir dizi kullanarak gereksiz yere uğraşmadan da yapabilirsiniz. Yani, "kral çıplak".
 

Bazen buradaki birçok kişi ya da bazı kişiler fanatizm ile gerçekliği, arzu edilen ile mümkün olanı birbirine karıştırıyor gibi görünüyor.

Bir kürek alıp kazmak yerine, kürek temasının sofistike bir gösterişi var: "ve belki burada kenarda, bu yüzden keskinleştirin", "belki burada bir köşe kıvrımı ile".... Her şey kürek seviyesinde bitiyor.

 
Integer:
Switch kullanma zorunluluğu nedeniyle, tüm nokta kaybolur. Eğer durum buysa, her türden nesne için farklı bir dizi kullanarak gereksiz yere uğraşmadan da yapabilirsiniz. Yani, "kral çıplak".

Bu, bir sayfanın herhangi bir türden nesneler içerebileceğinin bir göstergesidir. Ayrıca her tür, türü hakkında ek bilgi içeriyorsa dinamik olarak tanımlanabilir. Bu "ek bilgi" zayıf bir halkadır, ancak ne yazık ki MQL tip kontrolü için araçlar sağlamaz, bu yüzden onsuz yapamayız. Daha iyi bir çözüm bilen varsa: lütfen kodu gönderin, görmek ilginç olacaktır.

Sanki yorumunuz "şablon yöntemi" kalıbıyla ilgilenmediğinizi ima ediyor gibi)))

 
C-4:

1. Bu, bir sayfanın herhangi bir türde nesne içerebileceğinin bir göstergesidir.

2. Yorumunuz "şablon yöntem" kalıbıyla ilgilenmediğinizi ima ediyor)))

1. Bu güzel, elbette. Ama bunun ne faydası var?

2. Evet. Ve...? Çok şey mi kaybettim? Bu yine bir kürekle bir şeyin nasıl "keskinleştirileceği" veya "büküleceği" hakkında bir konuşma.

 
Burada bahsettiğimiz "kalıplar" nelerdir? Kendi düşünce tarzını dayatan ve herkesin dans ettiği biri mi? Bu kalıplar neden bu kadar yüksek bir mertebeye çıkarılıyor?
 
Integer:

1. Bu güzel, elbette. Ama ne faydası var?

2. Evet. Ve...? Çok şey mi kaybettim? Bu yine esasa ilişkin değil, kürekte bir şeyin nasıl "keskinleştirileceği" veya "büküleceği" konusuna ilişkin bir konuşma.

Peki görev neydi? Ne yapılması gerekiyordu? Farklı sınıfların çalışmalarını tek bir düğümle göstermenin istendiğini sanıyordum.
 

Ayrıca farklı nesneleri tek bir diziye koymayı başardım ve bunun daha net olduğunu fark ettim, çünkü fazladan bir şey yok:

class base{
   private:
   public:   
};

class cl1:public base{
   private:
      int m_v1;
      int m_v2;
   public:  
   void cl1(int v1,int v2){
      m_v1=v1;
      m_v2=v2;   
   }
   void f1(){
      Alert("(1) "+m_v1);
   }
   void f2(){
      Alert("(1) "+m_v2);   
   }
};

class cl2:public base{
   private:
      int m_v1;
      int m_v2;
   public:  
   void cl2(int v1,int v2){
      m_v1=v1;
      m_v2=v2;   
   }
   void f3(){
      Alert("(2) "+m_v1); 
   }
   void f4(){
      Alert("(2) "+m_v2); 
   }
};

base * a[];

int x1=1;
int x2=2;

int x()
  {
   
   return(x1=x2);
  }

void OnStart()
  {

   ArrayResize(a,10);
   
   cl1 * a1;
   
   a[0]=new cl1(1,2);
   a[1]=new cl2(3,4);  
   
}

Ne olmuş yani? Hiçbir şey. Aşırı yükleme çalışmaz, türü kaydetmeniz gerekir, sonra switch aracılığıyla. Tüm keyif bu.

 
Integer:
Burada bahsettiğimiz "kalıplar" nelerdir? Kendi düşünce tarzını dayatan ve herkesin dans ettiği biri mi? Bu kalıplar neden bu kadar yüksek bir mertebeye çıkarılıyor?
Hayır, bir şey yok, endişelenmeyin. Sorun yok. Sadece bir gün bir grup programcı bazı evrensel algoritmaları genelleştirdi ve bunlara "kalıplar" adını verdi. Düşünün, bu aptallar bu konuda bir kitap bile yayınladılar:))))))! İnsanların yapacak hiçbir şeyi yok!
 
C-4:
Görev neydi? Ne yapılması gerekiyordu? Farklı sınıfların bir düğümle nasıl çalıştığını göstermek istediğinizi sanıyordum.
Gösterdin. Güzel tabii ki. Ama görünüşe göre, gereken tek şey bu değil.
 
Integer:

Ayrıca farklı nesneleri tek bir diziye koymayı başardım ve bunun daha net olduğunu fark ettim, çünkü fazladan bir şey yok:

Ne olmuş yani? Hiçbir şey. Aşırı yükleme çalışmaz, türü kaydetmeniz gerekir, sonra switch aracılığıyla. Bütün keyif bu.

Ekstra bir şey yok mu? Sınıflarınız %100 gereksiz. Tüm cl1 yöntemleri ve verileri cl2 sınıfı tarafından neredeyse tamamen kopyalanırken, taban boştur.