Skip to content

Latest commit

 

History

History
53 lines (48 loc) · 2.65 KB

method_keywords.md

File metadata and controls

53 lines (48 loc) · 2.65 KB
  • static
  • abstract
    • denna metoden kan inte ha någon kod utan skrivs enbart som kontrakt för andra klasser som ärver från denna klassen och måste implementera metoden, override måste användas för att implementera denna metoden.
    • för att använda abstract på en metod måste klassen också vara abstract vilket innebär att man måste skriva en annan klass som ärver från den abstract klassen.
  • virtual
    • denna metoden kan bytas ut med override när klassen ärvs.
  • override
    • byter ut ärvd virtual metod, så om ett objekt packas upp behålls denna metoden.
  • new
    • gömmer ärvd metod, om objekt packas upp förlorar man denna metoden.

du får ursäkta röran nedanför, var ett tappert försök att skapa tabeller med markdown.

Class A virtual One(); Two(); ThreeA(); Class B : A override One(); new Two(); ThreeB();
en klass som ärver från en annan klass kan definiera om metoder med samma namn, om inga keywords används blir det automagiskt new, men man bör skriva new så det inte finns några oklarheter
var a = new A(); a.One(); a.Two(); a.ThreeA(); var b = new B(); b.One(); b.Two(); b.ThreeB(); b.ThreeA(); var c = (A) b; b.One(); a.Two(); a.ThreeA();
a objekt från A klass har sina A metoder b objekt från B klass har sina B metoder men ärver även metoder från A klass b object packas upp till a objekt, efterssom B klass har override på One() stannar den kvar även om nya objektet är från A klass
|**Class A** |**Class B : A**| |virtual One();|override One();| |Two(); |new Two(); |
ThreeA();ThreeB();
en klass som ärver från en annan klass kan definiera om metoder med samma namn, om inga keywords används blir det automagiskt new, men man bör skriva new så det inte finns några oklarheter

|var a = new A();|var b = new B();|var c = (A) b;| |a.One(); |b.One(); |b.One(); | |a.Two(); |b.Two(); |a.Two(); | |a.ThreeA(); |b.ThreeB(); |a.ThreeA(); |

b.ThreeA();
a objekt från A klass har sina A metoderb objekt från B klass har sina B metoder men ärver även metoder från A klassb object packas upp till a objekt, efterssom B klass har override på One() stannar den kvar även om nya objektet är från A klass