Gå til innhold

Anbefalte innlegg

Kan noen forklare meg bruks område til dette?

 

Har lest en del om det nå, men jeg forstår ikke hele hvordan det brukes.

 

(Om noen ikke skjlnte fornoskinga, så er det "public virtual void SomeMethod()" vi snakker om. ;) )

 

Noen som har en god forklaring?

Lenke til kommentar
Videoannonse
Annonse

using System;
class Sample
{
   static void Main()
   {
       A a = new A();
       B b = new B();
       A c = new B();

       a.boo();
       b.boo();
       c.boo();
   }
}
class A
{
   public virtual void  boo() // denne metoden blir kanskje "overridet" i klasser som arver fra denne klassen
   {
       Console.WriteLine("Boo");
   }
}
class B: A
{
   public override void boo() // "overrider en funksjon i base-klassen
   {
       Console.WriteLine("Hello"); 
   }
}

Som jorn79 sa, bruker man virtual hvis det er en mulighet for at nye klasser som arver fra en klasse "overrider" en funksjon. Når man "overrider" en funksjon fra base-klassen bruker man override-keywordet.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...