OOP - sayfa 4

 
mrProF :

Bir hata yaptım - "OOP ile yazılabilecek ve OOP olmadan yazılamayacak böyle bir görev yok."


Nedense anladım
 
MQL4'te listeler, ağaçlar, grafikler uygulamaya çalışın. Bu imkansız. MQL5'te bu kolayca yapılır, tekerleği yeniden icat etmeniz bile gerekmez, C++ kodunu bulup minimum değişiklikle kullanırsınız. Ve daha iyi sınıflar şeklinde verilmesine örnek teşkil eden doğal tiplerdir. Sinir ağları , bulanık mantık ve çok daha fazlası artık MQL5'te rahatça uygulanabilir. Ancak elbette her araç eldeki göreve uygun olmalı ve OOP yalnızca gerektiğinde kullanılmalıdır. Yeni özellikleri azarlayanların çığlıkları gülünç. Beğenmiyorsan kullanma, kimse seni kullanmaya zorlamıyor. Fonksiyonel programlamayı kullanın.
 
FoxRex :
MQL4'te listeler, ağaçlar, grafikler uygulamaya çalışın. Bu imkansız. MQL5'te bu kolayca yapılır, tekerleği yeniden icat etmeniz bile gerekmez, C++ kodunu bulup minimum değişiklikle kullanırsınız. Ve daha iyi sınıflar şeklinde verilmesine örnek teşkil eden doğal tiplerdir. Sinir ağları, bulanık mantık ve çok daha fazlası artık MQL5'te rahatça uygulanabilir. Ancak elbette her araç eldeki göreve uygun olmalı ve OOP yalnızca gerektiğinde kullanılmalıdır. Yeni özellikleri azarlayanların çığlıkları gülünç. Beğenmiyorsan kullanma, kimse seni kullanmaya zorlamıyor. Fonksiyonel programlamayı kullanın.

"İmkansız" ve "zor" kelimelerini karıştırmıyorsunuz, prosedürel programlama kullanılarak çözülemeyecek ve OOP'de çözülebilecek böyle bir sorun yok, yani programın son işlevselliğini kastediyorum..
Ve genel olarak assembler'da yazabilirsiniz yoksa rahatlarsınız, hazır servis yapın :)

OOP, eklenen veri ve fonksiyon izolasyonu ile aynı prosedürel programlamaya dayanmaktadır.
Örneğin, OOP'de bir "Merhaba dünya!" programı yazmak daha uzun sürer, ancak büyük bir projeyi daha hızlı yazabilirsiniz, OOP'de veya OOP'siz yazmayı seçme arasındaki çizgi çok bulanık ve programcının deneyimine, hedeflerine ve tercihler.
Şahsen benim için OOP çoğu durumda daha uygundur, çünkü "Dar" ve "geniş" yerlerini biliyorum ve OOP programlamada (C++, JavaScript, PHP) deneyimim var.
Ancak kısa bir test senaryosu yazarsam, OOP kullanmam.

İpucu: Gerçek görevlerde OOP'ye geçmeden önce basit örnekler üzerinde pratik yapmanız gerekir, örneğin iki sayı ekleyecek bir sınıf yazın, vb.
Vryatli, OOP hakkında bir kitap okuduktan sonra pratik yapmadan ciddi programlar programlamaya başlayacak.
Buna alışmanız, OOP bağlamında düşünmeye başlamanız, bir sınıf olarak neyin tasarlanması gerektiğini ve neyin buna değmediğini görmeniz gerekiyor.

 
Listeler, ağaçlar, grafikler, MQL4'te imkansız, işaretçiler yok.
 
FoxRex :
Listeler, ağaçlar, grafikler, MQL4'te imkansız işaretçi yoktur.

Bunun bir sonuç değil, bir uygulama olduğunu unutmayın.
Sonuç (program) için mi yoksa programı uygulamak için mi programlıyoruz?
Tüm bu yöntemler olmadan yapabilir ve diziler ve geçişler üzerinde değere göre düzenleyebilirsiniz.
Zor, zahmetli ama mümkün.

 
mrProF :

Bunun bir sonuç değil, bir uygulama olduğunu unutmayın.
Sonuç (program) için mi yoksa programı uygulamak için mi programlıyoruz?
Tüm bu yöntemler olmadan yapabilir ve diziler ve geçişler üzerinde değere göre düzenleyebilirsiniz.
Zor, zahmetli ama mümkün.

Windows ve OOP çağında "doğanlar" DOS ve C/Turbo Pascal'ın ne olduğunu anlamıyor (Asm hakkında zaten sessizim) ...

IMHO elbette, ama ....

 
Interesting :

Windows ve OOP çağında "doğanlar" DOS ve C/Turbo Pascal'ın ne olduğunu anlamıyor (Asm hakkında zaten sessizim) ...

IMHO elbette, ama ....

Krakerler asm'nin ne olduğunu anlıyor :)
Bir değişiklik için her şeyi denemeniz gerekir, çünkü bir programcı bir sorunu aynı anda birkaç şekilde çözebilir :)
Ve böylece, bir programın hatalarını asm'de ayıklamak sizi depresyona sokar :)
 
mrProF :

Bunun bir sonuç değil, bir uygulama olduğunu unutmayın.
Sonuç (program) için mi yoksa programı uygulamak için mi programlıyoruz?
Tüm bu yöntemler olmadan yapabilir ve diziler ve geçişler üzerinde değere göre düzenleyebilirsiniz.
Zor, zahmetli ama mümkün.

Katılıyorum, dizinin dinamik olması şartıyla bir fragmanda yapılabilir. Ancak bunun çok zarif bir çözüm olmadığını kabul etmelisiniz. Montajcıda bunu yapmak daha kolaydır. Ve OPP, Windows'tan önce doğdu. Ve fikirleri, PC/XT için assembler'da programlamama yardımcı oldu. Ve ilk programlama ders kitabım Knuth'un üç ciltlik kitabı.
 
FoxRex :
Katılıyorum, dizinin dinamik olması şartıyla bir fragmanda yapılabilir. Ancak bunun çok zarif bir çözüm olmadığını kabul etmelisiniz. Montajcıda bunu yapmak daha kolaydır. Ve OPP, Windows'tan önce doğdu. Ve fikirleri, PC/XT için assembler'da programlamama yardımcı oldu. Ve ilk programlama ders kitabım Knuth'un üç ciltlik kitabı.
Kabul ediyorum.
Yani, "OOP uygundur" düşüncesine geliyoruz :)

Ve bir şey daha: "OOP'u kullanmakta kendinizi rahat hissetmiyorsanız, kullanmayın" :)

İki basit kavram...

 
mrProF :

OOP büyük programlar için iyidir.
Kod 50 satırdan azsa, OOP'ye gerek yoktur.
Ancak çok fazla kod olduğunda, sadece yorumlardan neyin neyle ilgili olduğunu anlamak neredeyse imkansızdır.
Değişkenlerin, korkunun, karışıklığın plansız paylaşımı ile hata olasılığı artar.
OOP'de, değişkenlerin yöntemlerle (fonksiyonlar) birlikte kap (sınıf) içinde saklandığından emin olabilirsiniz.

OOP ile yazılabilen ve OOP olmadan yazılamayan böyle bir görev yoktur.
Kolaylıkla ilgilidir.)

OOP, problem çözme yöntemi değil, kodu yapılandırmanın bir yoludur.

Program "Merhaba kelime" den daha büyük hale gelirse OOP kullanma ihtiyacı ortaya çıkar.

Genel olarak, MQL4'ü birkaç yıldır tanıyorum ve zavallılığına hayret etmekten asla vazgeçmiyorum. Dördüncü MQL, klasik C'nin yeteneklerine bile bir yıldızdan uzaktır. MQL5'te geliştiriciler devam etmeye karar verdiler. Gerçekten daha fazla fırsat var ve programlama gerçekten daha kolay hale geldi. Dil daha karmaşık hale geldi, evet, ancak ürün okulda okutulmak için yapılmadı.