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

  • pissengehen

    pissengehen

    26 EYLÜL 2006
  • WhtButterflyLiz

    WhtButterfly

    14 NİSAN 2008
  • Wronchi Animation

    Wronchi Anim

    9 Mayıs 2011