Çaydanlıktan gelen sorular - sayfa 129

 
MetaDriver :

Çok faydalı olurdu. Ve yapılar için daha fazla işaretçi. Ayrıca, onları (yapıları) dinamik hale getirmek gerekli değildir. Ana şey, yapıların kendileri yerine bir dizin dizisini sıralamanın mümkün olmasıdır.

// Yapıların çoğu durumda sınıflarla değiştirilmesi istenmez. Bunlar tutumludur (sanal yöntem tablosu yoktur) ve "sağlam" veriler içerirler.

Genel olarak, bunun için kalıtımı tanıtacağız, sarma sınıfı için her zaman bir tanıtıcı alabilirsiniz.
 
Urain :

Hücrenin kalıtsal olduğu küme ile başladıkları, bir sınıfa birleştiler, sonra tekrar organlara dağıldılar ve tekrar insan sınıfına yaklaştılar ve tekrar mesleklere ayrıldılar.

Sizi bilmem ama normal insanlar organlara ayrılmazlar. Çoklu kalıtım son derece tartışmalı bir şeydir ve en gelişmiş C# dilinde bu mekanizmayı arayüzler lehine terk etmeye karar verilmesi boşuna değildi. C# geliştiricilerinin ne yaptıklarını bilmediklerini mi düşünüyorsunuz?
 
C-4 :
Sizi bilmem ama normal insanlar organlara ayrılmazlar . Çoklu kalıtım son derece tartışmalı bir şeydir ve en gelişmiş C# dilinde bu mekanizmayı arayüzler lehine terk etmeye karar verilmesi boşuna değildi. C# geliştiricilerinin ne yaptıklarını bilmediklerini mi düşünüyorsunuz?

Peki ya organ bağışı? :)

Soru tartışmalı ve tamamen kapalı değil, gerçek şu ki C ++ çoklu mirasa sahiptir, MQL C ++ benzeri bir dil olarak konumlandırılmıştır, neden olmasın.

 
C-4 :
Sizi bilmem ama normal insanlar organlara ayrılmazlar. Çoklu kalıtım son derece tartışmalı bir şeydir ve en gelişmiş C# dilinde bu mekanizmayı arayüzler lehine terk etmeye karar verilmesi boşuna değildi. C# geliştiricilerinin ne yaptıklarını bilmediklerini mi düşünüyorsunuz?

Bugaga :)

Her şeyden önce, neden C# birdenbire en gelişmiş dil haline geldi?

İkinci olarak, C#'ta, sınıfların çoklu kalıtımı yerine, arayüzlerin çoklu kalıtımı lehine karar verildi. ))) Uygulaması daha kolaydır.

Git konuyu çalış.

TheXpert :

Hareket halinde değil, ama bir kereden fazla kullandı. Ve neredeyse hiçbir seçenek olmadan.

Sözlerimi geri alıyorum. sanal kalıtım, yalnızca üst sınıf seçimindeki belirsizlik sorununu ortadan kaldırmak için kullanıldı.
 
mql5 :
Genel olarak, bunun için kalıtımı tanıtacağız, sarma sınıfı için her zaman bir tutamaç elde edebilirsiniz ...

... ve yüklemede sanal yöntemler tablosu. Bu tam olarak kaçınmak istediğim şeydi. :) Aksi halde soru ortaya çıkmazdı.

Tamam, ölümcül değil. Bunu ek bir dizin dizisi aracılığıyla yapacağım.
Документация по MQL5: Основы языка / Переменные
Документация по MQL5: Основы языка / Переменные
  • www.mql5.com
Основы языка / Переменные - Документация по MQL5
 
TheXpert :

Bugaga :)

1. Her şeyden önce, neden C# birdenbire en gelişmiş dil haline geldi?

2. İkinci olarak, C#'da, sınıfların çoklu kalıtımı yerine, arayüzlerin çoklu kalıtımı lehine karar verildi. ))) Uygulaması daha kolaydır.

1. Ve spesifik itirazlar nelerdir? :)

2. Arayüzleri soralım. Çoklu kalıtım ile. O zaman destekleyeceğim. :)

 
TheXpert :

Bugaga :)

Her şeyden önce, neden C# birdenbire en gelişmiş dil haline geldi?

İkinci olarak, C#'ta, sınıfların çoklu kalıtımı yerine, arayüzlerin çoklu kalıtımı lehine karar verildi. ))) Uygulaması daha kolaydır.

Git konuyu çalış.

Sözlerimi geri alıyorum. sanal kalıtım, yalnızca üst sınıf seçimindeki belirsizlik sorununu ortadan kaldırmak için kullanıldı.

Toplama lehine argümanlar vermeyeceğim, sanırım onları kendiniz biliyorsunuz. Benzer şekilde, çoklu kalıtım argümanlarının da farkındayım. Ve bunların altında hem bir yandan hem de diğer yandan birçok gerekçe var. Muhtemelen, burada soru kimin neye daha yakın olduğu ile ilgili. Özel şirketimiz söz konusu olduğunda, geliştirme ve ekibimiz tarafından desteklenmesi daha kolay olduğu için birleştirme çok daha fazla tercih edilir hale geldi.

Ukrayna :

Hücrenin kalıtsal olduğu küme ile başladıkları, bir sınıfa birleştiler, sonra tekrar organlara dağıldılar ve tekrar insan sınıfına yaklaştılar ve tekrar mesleklere ayrıldılar.

Görünüşe göre mesleğiniz, bir dereceye kadar (beklenmedik) bir ölçüde doğru olan kafesin varisi :). Bu özel durumda neyin daha iyi kullanılacağını belirlemek için iki nesne arasındaki ilişkinin ne olduğunu belirlemeniz gerekir:

  1. A nesnesi B nesnesidir - kalıtım
  2. A nesnesi, B nesnesinden oluşur (vardır, içerir) - kompozisyon

 
MetaDriver :

1. Ve spesifik itirazlar nelerdir? :)

2. Arayüzleri soralım. Çoklu kalıtım ile. O zaman destekleyeceğim. :)

2. destekliyorum
 
MetaDriver :

1. Ve spesifik itirazlar nelerdir? :)

Her dilin kendi uygulama alanı vardır. Bir dilin genel olarak "en gelişmiş" olduğunu söylemek saçmadır.

2. Arayüzleri soralım. Çoklu kalıtım ile. O zaman destekleyeceğim. :)

Haydi Yapalım şunu! Adının ne olduğunun ne önemi var? Öz neredeyse değişmez.
 

C# açık ara en gelişmiş dildir. Diğer her şey ya çok eski ya da çok özel.

Arayüzlerin çoklu kalıtımı, sınıfların çoklu kalıtımı ile aynı değildir. İkinci durumda, yukarıdan aşağıya bir hiyerarşi vardır ve bu nedenle, alt dallar birbirleriyle önemli ölçüde iç içe geçerek proje mimarisine önemli ölçüde kafa karışıklığı ve karışıklık getirebilir. Ve arayüzlerin kalıtımı ile daha kolay: arama veya sıralama gibi birleşik yöntemler var, bunlara sınıfınızı eklemek istiyorsanız uygun etkileşim arayüzünü yazın. Ve bu bir "koltuk değneği" değil. Bu C++, C dili için yazılmış büyük bir koltuk değneğidir.