Singleton modelini MQL4'te uygulamak mümkün mü? - sayfa 6

 
ALXIMIKS :


Ya ağır zekalısın ya da ağır zekalısın, direkt olduğum için üzgünüm, siyah beyaz yazılmış:

Hayır... Aceleci olan sensin!
Niye ya? Çünkü okuyamazsın.

Ve şimdi alıntı yapacağım:

ALXIMIKS :

Burada, OOP ilkelerini koruyarak ve global değişkenler yaratmayarak, statik bir sınıf üyesi kullanarak oradaki bazı kelimelerin sayısını sayabileceğimizi söylüyor,

o ( statik bir sınıf üyesi) tek bir örnekte oluşturulur ve bu sınıfın oluşturulan nesnelerinin sayısına bağlı değildir.

Aynı şeye ihtiyacım var, sadece yapıdan. Yoksa anlamak zor mu? Bir yapı ile bir sınıf arasındaki fark sorusu kaç kez gündeme geldi ve cevap kaç kez pratikte hiçbir şey olmadı. Birkaç fark var. En azından C++'da öyle. Bu soruyu bir keresinde birçok profesyonelin olduğu bir forumda sormuştum. Neden böyle bir fark var sorusu.

En başından beri bu değişkenlere tek bir örnekte ihtiyacım olduğunu söyledim. Yoksa okumak zor mu?

saat :

İhtiyacım olanı tekrar ediyorum... Programın yürütülmesi sırasında üyelerinin değerlerini koruması gereken bir yapı var, ancak bu yapıyı kullanan herhangi bir sınıfın herhangi bir yöntemi çağrıldığında, üyeler değiştirilebilir. Statik olmaları gerektiğini anlıyorum. Bu üyeler tek nüsha halinde olmalıdır . Bu yapının üyeleri birçok sınıf tarafından ve EA'nın kendisi tarafından kullanılacaktır.

"Akıllı" farkı fark ettiniz mi? PS KIRMIZI OLARAK VURGULANMIŞTIR.
 

Sınıflar ve yapı farklılıklarının belgelenmesiyle ilgili olarak okuduk. Yine, "bilge adam" için ALXIMIKS burada :

Sınıfların yapılardan bir takım farklılıkları vardır:

  • bildirim, class anahtar sözcüğünü kullanır;
  • Varsayılan olarak, aksi belirtilmedikçe tüm sınıf üyeleri özel erişim belirtecine sahiptir. Bir yapının veri üyeleri, aksi belirtilmedikçe varsayılan olarak public erişim tipine sahiptir;
  • sınıfta hiçbir sanal işlev bildirilmemiş olsa bile, sınıf nesnelerinin her zaman bir sanal işlevler tablosu vardır. Yapıların sanal işlevleri olamaz;
  • new operatörü sınıf nesnelerine uygulanabilir, bu operatör yapılara uygulanamaz;
  • sınıflar yalnızca sınıflardan miras alabilir, yapılar yalnızca yapılardan miras alabilir.

Burada statik ile ilgili bir şey var mı?

 

Victor bir şey! :-(

Zaten birkaç kez nasıl ve ne yapacağınızı yazdınız.

Belki de içine girmeye başlıyorsun?

 
Ve neden, safra tükürmek ve yüzlerce aptalın yaklaşmakta olan şeritte dolaştığını bağırmak daha iyidir.
 
Okudum ve umuyorum ki ekran desen (?) .... ihtiyacınız olan koleksiyon için ...
 
hoz :

Belgeleri burada açar ve şunu görün:

Bir sınıfın veya yapının değişkenleri programın yürütülmesi sırasında değerlerini kaybetmiyorsa, neden burada statik olarak bildiriliyor?

Kamusal kesimdeler, yapıda olduğu gibi diyebiliriz...

koyunlarınıza geri dönün.

ne istiyorsun?

 
sergeev :

ne istiyorsun?



okuyan adam :

Sınıf üyelerinin statik olarak bildirilememesi, bu verilerin programın global düzeyinde bildirilmesi ihtiyacına yol açacaktır .

Derste sınıflar ve yapılar hakkında konuşuyoruz. Yukarıda yazdıklarıma bakılırsa, belgelere göre, bir sınıf ile bir yapı arasında bir fark var, ama açıkçası statik değiştiriciyi kullanıp kullanamayacağınız gerçeğinde değil.

Отсутствие возможности объявлять статически члены класса привело бы к необходимости объявлять эти данные на глобальном уровне программы.

Böyle bir şey var mı? Orada!

Devam et:

Bu, veriler ve sınıfı arasındaki ilişkiyi bozar ve aynı zamanda ana OOP paradigması ile de tutarsızdır - verileri ve yöntemleri onları işlemek için bir sınıfta birleştirmek. Statik üye, tek bir örneğe özgü olmayan sınıf verilerinin sınıf kapsamında bulunmasına izin verir.

Statik bir sınıf üyesi belirli bir örneğe bağlı olmadığından , ona erişmek şöyle görünür:

class_name::variable

Burada yapının örneğine bağlı olmamak için yapı üyelerime ihtiyacım var .

Sınıflarla benzeterek yaptım. Anlıyor musun?

 
hoz :

Yapı üyelerimin yapı örneğinden bağımsız olmalarına ihtiyacım var .


yapı A
{
televizyonda;
};

statik A a;


?

 

hayır bir şey yap? bir global sınıf nesnesi oluşturun ve hepsi bu. (oh-yo-yo-th - yapılar , sonra yine kendinize ait bir şey anlayacaksınız ve saldıracaksınız)

Artıları:

1) daha az metin

2) daha fazla taşınabilirlik

3) aniden başka bir nesneye ihtiyacınız olursa, yaratılışında hiçbir yasak yoktur.

4) belki de büyük bir veri doğruluğu, ancak soru geliştiriciler içindir.

eksileri:

1) Alanlara nesne ismi üzerinden erişmeyi sevmiyorum, statik olarak istiyorum, beni anla.

 
sergeev :


yapı A
{
televizyonda;
};

statik A a;


?

Ve bu neden belgelere göre sınıflar için yapılmıyor? Neden sınıfın her üyesi orada çıkarılıyor ve başlatılıyor?