"Nesne Yönelimli Programlamanın Temelleri" makalesi için tartışma - sayfa 2

 
Urain:

Bu arada, bu tür temel paradigmaların yardımdaki OOP tanımında ele alınmamasına şaşırdım.

Bu OOP değil, sizin model algınızdaki uygulamasının bir sonucudur.
 
Urain:

1 Hayır, değil, bu kalıtımın kullanımıdır.

2 daha sıcaktır, Association ve Aggregation ile birlikte üç bağlama seçeneğinden biri olan Composition'dır.

Bu arada, bu tür temel paradigmaların yardımdaki OOP açıklamasında ele alınmamasına şaşırdım.

Bunlar doğrudan OOP özelliklerinden ziyade programlama hileleridir.

Toplama ile ilgili olarak:

Nesne yönelimli programlamada, birleştirme (bileşim veya dahil etme olarak da adlandırılır) iç içe yerleştirme yoluyla mevcut sınıflardan yeni bir sınıf oluşturma tekniğini ifade eder. Toplamadan genellikle "bir arabanın gövdesi, tekerlekleri ve motoru vardır" gibi bir "üyelik ilişkisi" olarak da bahsedilir.

Yeni bir sınıfın iç içe geçmiş nesneleri genellikle private olarak bildirilir ve böylece sınıfla çalışan uygulama programcıları tarafından erişilemez hale gelir. Öte yandan, sınıfı oluşturan kişi mevcut istemci kodunu bozmadan bu nesneleri değiştirebilir. Ayrıca, iç içe geçmiş nesnelerin çalışma zamanında değiştirilmesi, programın davranışını dinamik olarak değiştirmenize olanak tanır. Kalıtım mekanizması böyle bir esnekliğe sahip değildir, çünkü türetilmiş sınıflar için derleme aşamasında kontrol edilen kısıtlamalar belirlenir.

Toplama temelinde, harici bir nesneye atanan bir görev, bu tür görevleri çözmede uzmanlaşmış dahili bir nesneye devredildiğinde, yetkilendirme yöntemi uygulanır.

http://ru.wikipedia.org/wiki/Агрегирование_( programlama)

İşte bu, tüm OOP'ye nüfuz eden OOP ruhudur.
 
sergeev:

Yapılarla ilgili yardımı açın. ve ayrıca yapılar hakkında tip dönüşümünü okuyun.

Metotların üyeleri en başından beri mevcuttu. Neden onları kaldırmak istiyorsunuz?

IMHO, beni başka biriyle karıştırdınız.
 
Urain:

İlişkilendirme ve sınıfları birbirine bağlamanın diğer yolları.

Peki, bu ne için ) . İşte kalıplar evet, ancak yeni başlayanların seviyesi değil.
Tamsayı:

Bir nokta:

m_size.

Yaygın adlandırma kurallarında m_ öneki sınıf veri üyelerinin önüne eklenir. Çoğunlukla yerel değişkenleri yöntemlerdeki sınıf verilerinden açıkça ayırt etmek için tasarlanmıştır.

Документация по MQL5: Основы языка / Переменные / Локальные переменные
Документация по MQL5: Основы языка / Переменные / Локальные переменные
  • www.mql5.com
Основы языка / Переменные / Локальные переменные - Документация по MQL5
 
Integer:
Bir yapı içinde fonksiyon yazmak mümkün mü? Muhtemelen bir sınıfa işaretçiler - gördüm, denedim, bilmemek daha iyi.
Deneyin - bunları yazabilir ve çağırabilirsiniz. Ve çağırmalısınız da.
[Silindi]  
Urain:

Kodlar neden biçimlendirici aracılığıyla çalıştırılmıyor?

Yeni gelen biri için okumak zor olacak, ME'de bir stil ve makalede başka bir stil görüyor.

ZY Makale sınıf bağlantısı konularını ortaya koymuyor.

Genel olarak, elbette, OOP karmaşık bir konudur, basit bir dille anlatmak kolay değildir, ancak bir yerden başlamak zorundasınız.


kaynak stili düzeltildi
 
iyi makale...OOP'yi anlamamı kolaylaştırdı, teşekkürler...
 
TheXpert:
Peki, bu ne için? Kalıplar evet, ancak bu yeni başlayanların seviyesi değil.

Bir dakika:

m_size.

Yaygın adlandırma kurallarında m_ öneki sınıf veri üyelerine eklenir. Çoğunlukla yerel değişkenleri metotlardaki sınıf verilerinden açıkça ayırmak için tasarlanmıştır.


MFC altında programlama yaparken m_ öneki kullanılıyordu, özel ve korumalı değişkenlere uygulanıyordu, başka "genel kabul görmüş" kurallar yoktu. MFC sahneyi terk ettikten sonra, herkes tüm bu aptal m_'leri unuttu, Tanrıya şükür )). Eğer inanmıyorsanız - örnekleri indirin ve kendiniz görün (MFC ile ilgili bir bölüm de var) http://archive.msdn.microsoft.com/vcsamples.

Visual C++ Samples and Related Documentation for Visual Studio 2010 - Home
  • archive.msdn.microsoft.com
French, German, Italian, Japanese, Korean, Russian, Simplified Chinese, Spanish, Traditional Chinese The Microsoft Visual C++ 2010 Sample Library provides code examples for applications and tools showing the capabilities of Visual C++ and the libraries and technologies it supports. Visual Studio 2010 Samples are now live! Click on the links...
 
VDev:

MFC altında programlama yaparken m_ öneki kullanılırdı, private ve protected değişkenlere uygulanırdı, başka "genel kabul görmüş" kurallar yoktur. MFC sahneyi terk ettikten sonra, tüm bu aptal m_'ler unutuldu, Tanrıya şükür )) İnanmayanlar - örnekleri indirin ve kendiniz görün (MFC'de de bir bölüm var) http://archive.msdn.microsoft.com/vcsamples.

Hayır. При чем тут MFC? https://ru.wikipedia.org/wiki/%D0%92%D0%B5%D0%BD%D0%B3%D0%B5%D1%80%D1%81%D0%BA%D0%B0%D1%8F_%D0%BD%D0%BE%D1%82%D0%B0%D1%86%D0%B8%D1%8F

kolaylıktır, başka bir şey değildir. Her programlama şirketinin kendi kuralları olabilir.

Венгерская нотация — Википедия
  • ru.wikipedia.org
Суть венгерской нотации сводится к тому, что имена идентификаторов предваряются заранее оговорёнными префиксами, состоящими из одного или нескольких символов. При этом, как правило, ни само наличие префиксов, ни их написание не являются требованием языков программирования, и у каждого программиста (или коллектива программистов) они могут быть...
 

Çok gerekli bir makale!

Geliştiricilere makaleler için yeni bir kategori oluşturmalarını öneriyorum. "Programlamanın temelleri (teorisi)" gibi bir şey ....