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

  • ghosti66

    ghosti66

    27 AĞUSTOS 2006
  • Joanna Okrajni

    Joanna Okraj

    4 EYLÜL 2010
  • tatermoog

    tatermoog

    2 AĞUSTOS 2006