Hej! Du använder redan Java-metoder och vet mycket om dem. ni har förmodligen ställts inför situationen där en klass har många metoder tillsammans samma namn men olika parametrar. Du kommer minnas att i dessa fall använde vi metodöverbelastning. Idag överväger vi en ytterligare situation. Föreställ dig för att vi har en enda delad metod, men den måste göra olika saker i olika klasser. Hur implementerar vi detta beteende? För att förstå, låt oss överväga en djurförälderklass, som representerar djur, samt vi kommer att producera en talmetodi den: Även om vi precis besitter börjat skriva programmet ser du förmodligen ett potentiellt problem: det finns flera djur i världen, samt alla "talar" olika: katter jamar, ankor kvacksalvare samt ormar väser. Vårt syfte är enkelt: undvika för att skapa mängder av talmetoder. Istället för att producera en catSpeak()-metod för för att jama, en snakeSpeak()-metod till väsning, etc., vill oss kalla speak()metod och ett fåtal ormen att väsa, katten jama och hunden skälla. Vi kan e
åsidosättning (C#-referens)
Modifieraren krävs för för att utöka eller ändra den abstrakta eller virtuella implementeringen av en ärvd teknik, egenskap, indexerare eller händelse.
I följande exempel måste klassen tillhandahålla en åsidosättad implementering av eftersom ärvs ifrån den abstrakta klassen:
En teknik ger en ny implementering av metoden som ärvts från en basklass. Den metod som åsidosätts från en deklaration kallas den åsidosatta basmetoden. En teknik måste ha samma signatur som den åsidosatta basmetoden. metoder stöder kovarianska returtyper. I synnerhet kan returtypen för en metod härledas från returtypen för motsvarande basmetod.
Du kan inte åsidosätta en icke-virtuell eller statisk metod. Den åsidosatta basmetoden måste vara , alternativt .
En deklaration kan ej ändra metodens tillgänglighet. Både metoden och metoden måste ha samma åtkomstnivåmodifierare.
Du är kapabel inte använda modifierarna , eller för att ändra en metod.
En åsidosättande egenskapsdeklaration måste ange exakt s