Konstruktori ir svarīgs jēdziens objektorientētajā programmēšanā, īpaši C#, kas ļauj jums inicializēt objekta klasi ar specifiskām īpašībām. Šajā rokasgrāmatā jūs uzzināsiet, kā efektīvi izmantot vairākus konstruktorus vienā klasē, lai palielinātu jūsu lietojumprogrammu elastību un lietotājdraudzīgumu.

Galvenās atziņas

  • Jūs varat definēt vairākus konstruktorus vienā klasē, lai piedāvātu dažādas inicializācijas iespējas.
  • Ir parametrizētais konstruktors un noklusējuma konstruktors.
  • Parametri var būt ar noklusējuma vērtībām, kuras tiek izmantotas, ja nav norādītas īpašas vērtības.

Solī pa solim rokasgrāmata

Uzsāksim, izveidojot vienkāršu klasi. Izmantojiet klasi, kas pārstāv automašīnas. Vispirms jūs īstenojat parametrizēto konstruktoru, kas ļauj jums norādīt ražotāju un transportlīdzekļa veidu, kad izveidojat automašīnu. Šiem piemēriem pieņemam, ka transportlīdzekļi, kurus mēs izveidojam, ir lietoti transportlīdzekļi.

Efektīvi izmantot vairākus konstruktorus C# klasēs

Pievienojot parametrizētajam konstruktoram, mēs pievienojam arī noklusējuma konstruktoru. Tas tiek izsaukts, kad parametri nav norādīti. Tas ir konstruktors bez parametriem, kas iestata iepriekš definētas vērtības objekta īpašībām, piemēram, ražotājam un transportlīdzekļa veidam.

Lai deklarētu noklusējuma konstruktoru, padariet to publisku un nosauciet tāpat kā klasi. Piemēram, jūs varat nosaukt konstruktoru klasei Auto par public Auto. Šajā gadījumā mēs iestatām noklusējuma vērtību ražotājam uz "Opel Automobile GmbH" un transportlīdzekļa veidu uz "Corsa".

Tagad, kad noklusējuma konstruktors ir īstenots, jūs parādīsiet, kā to izmantot. Jūs varat izveidot jaunu automašīnu, vienkārši izsaucot noklusējuma konstruktoru, neminot parametrus. Kad automašīna ir izveidota, tā izvada automašīnas īpašības, lai pārbaudītu, vai noklusējuma vērtības ir pareizi iestatītas.

Vairāku konstruktoru efektīva izmantošana C# klasēs

Tagad mēs paplašināsim Auto klasi ar divām papildu īpašībām: krāsu un transportlīdzekļa vecumu. Šī informācija ir svarīga, īpaši lietotiem auto. Taču, veicot lietotāju ievadi, var gadīties, ka lietotājs nenodrošina visus datus. Tādēļ mēs izveidosim jaunu konstruktoru, kas pieņem šos papildu parametrus - proti, transportlīdzekļa veidu, krāsu un vecumu.

Efektīvi izmantot vairākus konstruktorus C# klasēs

Jūs izveidojat šo jauno konstruktoru tieši tāpat kā iepriekšējos, un pielāgojat loģiku, lai uzņemtu jaunus parametrus. Pārliecinieties, ka jūs saistāt iekšējās mainīgās ar nodotajām vērtībām, lai klase pareizi darbotos. Arī izvadē jāpielāgo metode, lai ņemtu vērā jaunās īpašības izvadē.

Efektīvi izmantot vairākus konstruktorus C# klasēs

Īpašību pārbaude tiek veikta, izmantojot if-paziņojumu, lai nodrošinātu, ka tiek izvadīti tikai ne-null vērtības. Tādējādi jūs varat saņemt specifisku informāciju par transportlīdzekļiem, pat ja daži dati trūkst.

Efektīvi izmantot vairākus konstruktorius C# klasēs

Tagad ir pienācis laiks pārbaudīt, vai viss darbojas pareizi. Izveidojiet jaunu automašīnu, nosauciet to "jauna automašīna 2" un norādiet transportlīdzekļa veidu, krāsu un vecumu. Pēc transportlīdzekļa izveides ļaujiet izsaukt izvadīšanu, lai pārbaudītu jūsu jaunā konstruktora efektivitāti.

Ar šīm pārbaudēm jūs varat redzēt, kā dažādi konstruktori darbojas Auto klasē un kāda informācija tiek izvadīta. Noklusējuma konstruktors tiek izmantots, kad parametri netiek nodoti, kamēr alternatīvie konstruktori pieņem konkrētas detalizētas informācijas pievienošanu.

Vairāku konstruktori C# klasēs efektīvi izmantot

Visbeidzot, kā neliela vingrinājums izveidojiet jaunu īpašību, piemēram, "reģistrācijas numurs", un pievienojiet jaunu konstruktora, kas pieņem visas svarīgās informācijas - transportlīdzekļa veidu, reģistrācijas numuru, krāsu un vecumu. Pielāgojiet arī izvadīšanu, iekļaujot if-else paziņojumu, lai nodrošinātu, ka informācija tiek pareizi rādīta.

Efektīvi izmantot vairākus konstruktorus C# klasēs

Kopsavilkums - Efektīvi izmantot vairākus konstruktorus

Jūs tagad esat iemācījies, kā ieviest vairākus konstruktorus C# klasē un piešķirt tiem dažādus parametrus. Spēja izmantot vairākus konstruktorus palielina jūsu koda elastību un padara to pielāgojamāku dažādiem lietojumiem.

Bieži uzdotie jautājumi

cik daudz konstruktoru man var būt vienā klasē?Nav stingras augšējās robežas, jūs varat definēt tik daudz konstruktoru, cik vērtējat nepieciešams, ja vien tie atšķiras pēc parametriem.

Kāda ir atšķirība starp noklusējuma konstruktoru un parametrizēto konstruktoru? Noklusējuma konstruktors nav parametru un inicializē objektu ar iepriekš definētām vērtībām, savukārt parametrizētais konstruktors pieņem parametrus, lai noteiktu specifiskas vērtības objekta izveides laikā.

Vai es varu pārslodzes konstruktorus? Jā, jūs varat pārslodzes konstruktorus, definējot vairākus konstruktorus tajā pašā klasē ar atšķirīgām parametru sarakstiem.

Ko darīt, ja es nedefinēju nekādus konstruktorus? Ja nekādi konstruktoru nav definēti, kompilators nodrošina noklusējuma konstruktoru, kas neveic nekādas darbības, bet inicializē objektu.##