SORU
25 Aralık 2008, PERŞEMBE


C gölgeleme ve geçersiz kılma arasındaki fark#?

Arasında ne fark vargölgelemevegeçersiz kılmaC bir yöntem?

CEVAP
25 Aralık 2008, PERŞEMBE


İyi miras...

bu sınıflar varsayalım:

class A {
   public int Foo(){ return 5;}
   public virtual int Bar(){return 5;}
}
class B : A{
   public new int Foo() { return 1;}     //shadow
   public override int Bar() {return 1;} //override
}

bu aramadan sonra:

A clA = new A();
B clB = new B();

Console.WriteLine(clA.Foo()); // output 5
Console.WriteLine(clA.Bar()); // output 5
Console.WriteLine(clB.Foo()); // output 1
Console.WriteLine(clB.Bar()); // output 1

//now let's cast B to an A class
Console.WriteLine(((A)clB).Foo()); // output 5 <<<--
Console.WriteLine(((A)clB).Bar()); // output 1

Sanırım sende bir temel sınıf ve temel sınıf tüm kod yerine devralınan sınıfları, ve gölge, geri dönecektir değerleri temel sınıf döndürür yerine aşağıdaki ineritance ağacın gerçek tür nesne.

Umarım mantıklı konuşuyorum :)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:
C#

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • jedimasterkyle

    jedimasterky

    11 ŞUBAT 2006
  • Phlearn Photoshop and Photography Tutorials

    Phlearn Phot

    11 EKİM 2011
  • ShayLoss

    ShayLoss

    5 Kasım 2009