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

  • Top Gear

    Top Gear

    27 Mart 2006
  • TotalxLuna

    TotalxLuna

    27 Kasım 2011
  • YEAH1TV

    YEAH1TV

    19 ŞUBAT 2009