Mis on polümorfism programmeerimises?
sobes.tech AI
Vastus AI-lt
Polümorfism — see on võime erinevatel klassidel olevatel objektidel reageerida samale meetodi väljakutsele erinevalt. Seda saavutatakse päriluse, abstraktsete klasside ja liideste kasutamisega. C#-s väljendub polümorfism põhiklassi meetodite ülekirjutamises (overriding) ja ülekoormamises (overloading):
Polümorfismi näited:
-
Meetodite ülekirjutamine (Runtime Polymorphism): Päriliku klassi pakub oma versiooni põhiklassi meetodist, mille märgib
virtual. Seda tehakseoverridevõtmesõnaga.// Põhiklass class Shape { // Virtuaalne meetod, mida saab ülekirjutada public virtual void Draw() { // Vaikimisi rakendus } } // Pärilik klass 1 class Circle : Shape { // Meetodi ülekirjutamine public override void Draw() { // Ringile rakendus } } // Pärilik klass 2 class Square : Shape { // Meetodi ülekirjutamine public override void Draw() { // Ristküliku rakendus } }Selle puhul saab luua
Shapeobjektide nimekirja ja kutsudaDrawigaühel ning kutsutakse välja konkreetne rakendus iga kuju tüübi jaoks. -
Ülekoormus (Compile-time Polymorphism): Mitmed meetodid sama nimega, kuid erinevate signatuuridega (parameetrite arv või tüübid) ühes klassis.
class Calculator { // Ülekoormatud meetod Add (int) public int Add(int x, int y) { return x + y; } // Ülekoormatud meetod Add (double) public double Add(double x, double y) { return x + y; } }
Polümorfism soodustab paindlikumat, laiendatavamat ja kergemini hooldatavat koodi. See võimaldab kirjutada üldist koodi, mis saab töötada erinevat tüüpi objektidega.