![MQL5 - MetaTrader 5 müşteri terminalinde yerleşik alım-satım stratejileri dili](https://c.mql5.com/i/registerlandings/logo-2.png)
Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
Interesting :
Alexander ( AlexSTAL ) tarafından önerilen yöntem muhtemelen sorunu çözecektir (belirli sorunlu doğasını dikkate almayacağız).
Dur dur dur!
Ben teklif etmedim ama bir ihtimal var dedim.
Senin sorunun ne, anlamadım?
Muhtemelen mantığın yarısının eksik olduğu ve yarısının doğru olmadığı (OOP'nin doğuşundan kalan) bir örneği tartışıyorsunuz?
Dur dur dur!
Ben teklif etmedim ama bir ihtimal var dedim.
Senin sorunun ne, anlamadım?
Burada bir dizide rengarenk nesneler eklemenin gerekli olduğunu söyleyeceğiz.
Aynı zamanda, bu nesnelerin tüm özelliklerinin aynı dizide saklanması gerekir + tüm olaylara ve yöntemlere erişim vardır.
Anladığım kadarıyla sizin tarafınızdan önerilen olasılık (uygulama farklı olabilir) nesnelerin (olaylar ve yöntemler) işlevselliğine erişmenizi sağlıyor.
Ancak, veriyi ata tipine sahip bir dizide depolama pahasına, çalışması pek olası değildir (bu verinin atada bildirilmediği göz önüne alındığında).
fikrimi açıkla
Bu özel örneğe odaklanırsak, o zaman:
1. Diyelim ki nesnenin türünün saklanacağı bir dizi oluşturun, X'teki konum, Y'deki konum mümkün;
2. Benzersiz bir nesneyi işaretçisiyle tanımlamayı deneyebilirsiniz ( bir nesneyle çalışırken işaretçi kullanılmayabilir, ancak tutamaç gibi bir şeyin olması istenir);
Bu bağlamda, biraz aptalca bir soru (henüz başka bir yol göremiyorum) - bir işaretçiyi tutamaç olarak kullanabilir miyim (atada karşılık gelen özelliği oluşturup yapıcıya doldurarak)?
3. Dizideki torunların özelliklerini saklama fırsatımız olmuyor (sadece atada bildirilmeyenler). Örneğin, anladığım kadarıyla bir dizide bir dairenin yarıçapını veya bir karenin kenarını saklamak işe yaramaz.
3. Dizideki torunların özelliklerini saklama fırsatımız olmuyor (sadece atada bildirilmeyenler). Örneğin, anladığım kadarıyla bir dizide bir dairenin yarıçapını veya bir karenin kenarını saklamak işe yaramaz.
Peki neden olmuyor... Onlarla direkt iletişime geçmiyorsunuz, ancak “radius” parametresi ile “GetValue” fonksiyonunuz yardımıyla (nesne bir daire ise)… Bu bir olasılıklardan...
Basit bir özel görev belirlediniz
Peki neden olmuyor... Onlarla direkt iletişime geçmiyorsunuz, ancak “radius” parametresi ile “GetValue” fonksiyonunuz yardımıyla (nesne bir daire ise)… Bu bir olasılıklardan...
Basit bir özel görev belirlediniz
Görev basit, ancak uygulamanın kolay olduğunu kim söyledi.
1. Diziye farklı nesneleri (temel sınıfın çocukları) verileriyle birlikte yazmak gerekir.
Bunu özellikle verilerle birlikte açıklayacağım !!!
2. Her çocuk için GetArea()'dan hesaplama sonuçlarını alın;
3. Aşağıdaki özellikleri ekleyin:
a. karenin çevresinin hesaplanması - kenar * 4;
b. Bir dairenin çevresinin hesaplanması 2π R'dir.
3. Kitaplığa ek şekiller ekleyin - bir dikdörtgen (iki kenar) ve bir üçgen.
4. Aşağıdaki özellikleri ekleyin:
a. bir dikdörtgenin alanının hesaplanması - yüksekliğe göre taban;
b. Bir dikdörtgenin çevresinin hesaplanması - kenarların toplamı * 2;
içinde. Bir üçgenin alanının hesaplanması;
d.Bir üçgenin çevresini hesaplama.
5. Her nesneyi ayrı ayrı tanımlayın (tüm nesneler arasında ve kendi sınıfındaki nesneler arasında).
Tercihen işaretçili ve işaretsiz.
6. Şekillerin çevresini ve alanını yalnızca dizide depolanan verilere göre hesaplayın.
not
Aynı zamanda, torunlardan bir ataya kod transferine izin verilmez (bu kod tüm atalar için geçerli değilse).
Yani örneğin bir kare, dikdörtgen ve daire içinde olmadığı için yarıçapı ataya aktaramazsınız.
Tüm torunlar için geçerli olduğu sürece, bir ataya yeni işlevler eklenebilir.
Temel olarak, treylerde bulunan kodu alıyoruz.
Bir dizi çerçevesinde, ataya alan ve çevre depolamak için değişkenler + onlara veri yazmak için işlevsellik ekleyerek sorunu kişisel olarak çözdüm.
Ayrıca GetArea() ve diğer doğrudan hesaplama fonksiyonlarının sonucu kontrol edilirse.
Görünüşe göre kendi kurallarını çiğnememiş.
Uygulama yöntemlerinden birini sizin tarif ettiğiniz yaklaşımla attım.
Tam değil, ama en önemli yaklaşım var
Uygulama yöntemlerinden birini sizin tarif ettiğiniz yaklaşımla attım.
Tam değil, ama en önemli yaklaşım var
Yaklaşım açık. Bu muhtemelen bu soruna en iyi çözümlerden biridir.
En azından şimdilik.
Görev basit, ancak uygulamanın kolay olduğunu kim söyledi.
1. Diziye farklı nesneleri (temel sınıfın çocukları) verileriyle birlikte yazmak gerekir.
...MQL5'teki elektronik tablolar Sorun zaten çözülmüş ve açıklanmıştır.
Okuyabilmek güzel... :)
Ayrıca kötü bir yaklaşım değil, anladığım kadarıyla bu yaklaşımların her ikisi de yalnızca bir parametreyi (farklı türlerde de olsa) aktarmak/okumak için tasarlanmıştır.
Ancak çok sayıda parametre varsa ve hepsini temel sınıfa sığdıramıyorsanız ne kadar ilginç olur?
Anladığım kadarıyla, ayrıca geçmekte olduğumuz parametrenin indeksini de girin (sınıfta da, indekse göre yığılmış parametrelerle bir dizi oluşturabilirsiniz)?
Okuyabilmek güzel... :)
Ayrıca kötü bir yaklaşım değil, anladığım kadarıyla bu yaklaşımların her ikisi de yalnızca bir parametreyi (farklı türlerde de olsa) aktarmak/okumak için tasarlanmıştır.
Ancak çok sayıda parametre varsa ve hepsini temel sınıfa sığdıramıyorsanız ne kadar ilginç olur?
Anladığım kadarıyla, ayrıca geçmekte olduğumuz parametrenin indeksini de girin (sınıfta da, indekse göre yığılmış parametrelerle bir dizi oluşturabilirsiniz)?