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

  • ehowhome

    ehowhome

    22 NİSAN 2009
  • filmurfreakur

    filmurfreaku

    29 Mart 2007
  • TechSmartt

    TechSmartt

    29 Aralık 2010