Skatījums procesu plūsmās programmatūras izstrādē iegūst arvien lielāku nozīmi, it īpaši, runājot par objektorientētu programmēšanu. Centrālais šīs programmēšanas pieejas aspekts ir Polimorfisms. Ar dziļāku izpratni par jūsu lietojumprogrammas loģiku jūs varat izveidot elastīgākas un vieglāk uzturamas programmas. Iegremdēsimies kopā Polimorfisma pasaulē un piedzīvosim koncepcijas caur praktiskiem piemēriem.
Svarīgākās atziņas
Polimorfisms ļauj objektiem sevi attēlot dažādās formās. Tas notiek, pārdefinējot un pārslogojo metodes. Atslēgas koncepcijas ietver:
- virtuālo metožu izmantošana bāzes klasēs
- "override" lietošana apakšklasēs
- objektu tipa pārvēršanas koncepts
- funkcionalitātes paplašināšana, vienkārši pievienojot jaunas funkcijas
Solis pa solim instrukcija
1. solis: Ievads Polimorfismā
Lai saprastu Polimorfismu C#, vispirms aplūkosim pamatkoncepciju. Termins nāk no grieķu valodas un nozīmē “daudz formas”. Objektorientētā programmēšanā tas nozīmē, ka metode bāzes klasē var tikt gan pārdefinēta, gan pārslogota apakšklasēs. Tas ļauj jums izmantot kopīgas saskarnes, kamēr jūs vienlaikus pārdefinējat īstenojumu.

2. solis: Struktūras izveide
Sākt ar pamata struktūru, kas definē bāzes klasi. Šajā gadījumā mēs izmantosim klasi, ko sauc par Auto. Šai klasei vajadzētu saturēt arī metodi, kas saukta “TÜV”. Metode tiek deklarēta bāzes klasē, taču vēl nav īstenota.

3. solis: Apakšklasēm definīcija
Tagad izveidojiet apakšklases PKW un LKW. Katram apakšklasei vajadzētu paplašināt bāzes klasi Auto. Šajās klasēs jūs īstenosiet metodi TÜV, izmantojot atslēgvārdu override. Tas pielāgo bāzes klases metodi, lai katra apakšklase varētu iegūt savu specifisko loģiku.

4. solis: Virtuālās metodes īstenošana
Pirms TÜV metodes pārdefinēšanas apakšklasēs bāzes klasē jānosaka atslēgvārds virtual. Tas liecina, ka bāzes klase atļauj savas metodes pārdefinēšanu.
5. solis: Objektiem izveidot sarakstu
Lai tālāk izpētītu Polimorfismu, izveidojiet sarakstu, kas var saglabāt gan PKW, gan LKW objektus. C# jūs to varat izdarīt, izmantojot List datu tipu. Pārliecinieties, ka esat pievienojis pareizu Using direktīvu ģenerētām kolekcijām.
6. solis: Objekti pievienošana sarakstam
Šajā sarakstā jūs varat izveidot vairākus PKW un LKW objektus. Šie objekti tiks šķirti ar komatu kolekcijā. Ir svarīgi zināt, ka neskatoties uz atšķirīgiem tipiem, visi saraksta objekti dalās ar bāzes klases Auto tipu.
7. solis: Polimorfisma izsaukums
Tagad, kad jums ir saraksts, izveidojiet foreach ciklu, kas iterē cauri visiem šiem objektiem. Katru reizi, kad objekts tiek apstrādāts, izsauciet TÜV metodi. Atkarībā no objekta veida tiks izmantota konkrētā apakšklases īstenošana.
8. solis: Rezultāta analīze
Ļaujiet programmai darboties un novērojiet rezultātus. Tas parādīs, kurš auto kad bija TÜV. Polimorfisms nodrošina, ka tiek izsaukta attiecīgās apakšklases TÜV metode, nevis bāzes klases.
9. solis: Pārbaudiet "override" ietekmi
Izprotiet atslēgvārda override darbības principus, īslaicīgi to noņemot no PKW klases. Ko jūs redzat, kad programma atkal darbojas? Bāzes klases metode būtu jāizsauc, kas jums parādīs, cik svarīgs ir override.

10. solis: Jūsu lietojumprogrammas paplašināšana
Lai padziļinātu savu izpratni par Polimorfismu, jūs varat izveidot jaunas metodes, piemēram, uzpildīt, un veikt līdzīgus soļus. Apskatiet, cik elastīgs ir jūsu pieejas un turpiniet praktizēt koncepcijas.
Kopsavilkums – Polimorfisms C#: Ceļvedis izpratnei un praktiskai lietošanai
Polimorfisms ir fundamentāla koncepcija objektorientētajā programmēšanā, kas ļauj jums rakstīt elastīgu un paplašināmu programmatūru. Izmantojot virtuālās metodes un apakšklases metožu pārdefinēšanu, tiek palielināta jūsu koda atkārtota izmantojamība un uzturējamība. Šeit jūs esat iemācījies, kā izveidot bāzes klasi un tās apakšklases, pārvaldīt objektus sarakstā un efektīvi izsaukt tos polimorfiski.
Bieži uzdotie jautājumi
Kā izmantot atslēgvārdu virtual?Atslēgvārds virtual tiek izmantots bāzes klasē, lai norādītu, ka metode var tikt pārdefinēta apakšklasēs.
Ko dara atslēgvārds override?override ļauj apakšklasei atkārtoti definēt bāzes klases metodi.
Kā izveidot sarakstu ar objektiem ar atšķirīgiem tipiem?Jūs varat izmantot List tipa, lai saglabātu gan PKW, gan LKW objektus sarakstā.
Kas notiek, ja es noņemu override?Bez override tiks izsaukta bāzes klases metode, nevis īstenojums apakšklasē.
Kā es varu tālāk testēt savu lietojumprogrammu?Jūs varat izveidot jaunas metodes un pievienot dažādus objektus, lai redzētu, kā darbojas Polimorfisms.