Nasıl kurucular miras?
Hayalbirçok kurucular ve sanal bir yöntem ile bir temel sınıf
public class Foo
{
...
public Foo() {...}
public Foo(int i) {...}
...
public virtual void SomethingElse() {...}
...
}
ve şimdi sanal yöntemi geçersiz kılan bir alt sınıf oluşturmak istiyorum
public class Bar : Foo
{
public override void SomethingElse() {...}
}
Ve bir şeyler daha mı başka alt:
public class Bah : Bar
{
public void DoMoreStuff() {...}
}
Çok Bar ve Bah içine Foo tüm kurucular kopyalamak zorunda mıyım? Ve sonra Foo yapıcı bir imza değiştirirsem, güncelleme gerekiyor Bar ve Bah?
Kurucular miras yolu yok mu? Kodu yeniden teşvik etmek için bir yolu var mı?
CEVAP
Evet, sen-ecek var uygulamak kurucular bunun anlamı, her bir türev ve base
anahtar kelime doğrudan sınıf için uygun bir temel sınıf veya this
anahtar kelime doğrudan yapıcı bir kurucu aynı sınıfta.
Eğer derleyici miras kurucular hakkında varsayımlar yapılmış, düzgün bir şekilde nesneleri örneği nasıl olduğunu belirlemek mümkün olmaz. Çok yerinde, çok kurucular neden düşünmelisiniz sınıfın içerisinde sadece bir ya da iki onları düşürmeyi düşünün. Türetilmiş sınıfları sonra bazıları null
gibi sabit değerleri kullanarak maske ve sadece kendi kurucular ile gerekli olanları açığa çıkarabilir.
Güncelleme
C#4 varsayılan parametre değerleri belirtmek ve adlandırılmış parametreleri tek bir kurucu yapılandırma başına bir kurucu yerine, birden çok bağımsız değişken yapılandırmaları destek yapmak için kullanabilirsiniz.
Miras kurucular...
Nasıl diyebilir miyim ::std::make_shar...
Nasıl miras Nitelikleri uygun mu?...
Scala, nasıl birden fazla kurucular il...
Nasıl son tamamlama Geri Al mı?...