Objektovo orientované programovanie je jednou z najpopulárnejších programovacích paradigiem. Je to preto, že modeluje údaje aj funkcie a umožňuje vám myslieť v podmienkach skutočných objektov. Triedy sú základným aspektom objektovo orientovaného programovania, pretože poskytujú plán, ktorý potrebujete na vytváranie objektov.
C# je populárny multiparadigmový programovací jazyk, ktorý využíva objektovo orientovanú paradigmu. V tomto článku sa dozviete, ako vytvárať a používať triedy v C#.
Vytvorenie Prehlásenia o triede
V C# je trieda referenčným typom, ktorý bude obsahovať nulový hodnotu, kým nevytvoríte nový objekt triedy. Na vytvorenie novej triedy v C# budete potrebovať niekoľko komponentov:
- Modifikátor prístupu.
- The trieda kľúčové slovo.
- Názov, ktorý chcete triede priradiť.
- Pár otvorených a zatvorených zložených zátvoriek (ktoré budú uzatvárať atribúty, konštruktory a metódy triedy).
interné triedaZákazník{ }
Vyššie uvedený kód vytvorí novú triedu, ktorá je prístupná iným triedam v rovnakom zostave (kompilačný súbor). C# má presne šesť modifikátorov prístupu, ktoré môžete použiť na ovládanie úrovní prístupnosti vašich tried, premenných a metód. Šesť modifikátorov prístupu je:
- verejnosti: každá trieda (bez ohľadu na jej zostavu) má prístup k verejnej triede a jej verejným členom (atribúty, konštruktory a metódy).
- súkromné: prístup k nej má iba súkromná trieda a jej členovia.
- chránené: k chránenej triede majú prístup iba odvodené triedy (triedy detí a vnukov).
- interné: k internej triede majú prístup iba triedy v rovnakom zostave.
- chránené vnútorné: ku chránenej internej triede môžu pristupovať iba triedy v tom istom zostave alebo trieda odvodená z inej zostavy.
- súkromné chránené: k súkromnej chránenej triede majú prístup iba odvodené triedy v rovnakom zostave.
Deklarovanie a prístup k atribútom
Atribúty sú stavebné kamene pre triedy, ktoré vytvoríte. Majú citlivé údaje a zvyčajne majú modifikátor súkromného alebo chráneného prístupu. Preto na prístup k týmto triedam z externých tried by ste museli použiť prístupové objekty a mutátory (gettery a settery).
C# vám umožňuje deklarovať vaše atribúty, mutátory a prístupové objekty nasledovne:
interné triedaZákazník
{
// atribúty
súkromnéint Identifikačné číslo;
súkromné string Meno;
súkromnédvojitý Celkom;// nastavovače
verejnostineplatnéSetIdNumber(int Identifikačné číslo){ toto.IdNumber = IDNumber; }
verejnostineplatnéSetName(názov reťazca){ toto.Meno = Meno; }
verejnostineplatnéSetTotal(dvojitý Celkom){ toto.Celkom = Celkom; }
// getters
verejnostiintGetIdNumber(){ vrátiťtoto.Identifikačné číslo; }
verejnosti reťazec GetName(){ vrátiťtoto.Názov; }
verejnostidvojitýGetTotal(){ vrátiťtoto.Celkom; }
}
Iné populárne objektovo orientované jazyky použiť aj vyššie uvedený prístup. V skutočnosti, ak chcete vytvárať triedy Java, budete musieť použiť vyššie uvedenú štruktúru. C# má však teraz jednoduchší spôsob vytvárania atribútov a prístupových prvkov. V C# má táto trieda rovnakú funkciu ako tá vyššie:
interné triedaZákazník
{
public int IdNumber { dostať; nastaviť; }
public string Name { dostať; nastaviť; }
public double Total { dostať; nastaviť; }
}
Vyššie uvedená trieda obsahuje to, čo C# volá vlastnosti, čo je kombinácia atribútov (polí) a metód. s vlastnosti, môžete znížiť kód deklarácie atribútov, mutátorov a prístupových objektov na polovicu.
Vyhlásenie konštruktérov
Konštruktéri sú ďalším základným aspektom triedy. Ak chcete vytvoriť objekt z triedy, budete musieť zavolať jeden z jej konštruktorov. Každý konštruktor má voliteľný modifikátor prístupu a rovnaký názov ako jeho trieda. Pre objektovo orientované programovacie jazyky existujú vo všeobecnosti tri typy konštruktorov:
- Predvolený konštruktor: neberie žiadne argumenty a poskytuje každému atribútu predvolenú hodnotu.
- Primárny konštruktor: berie jeden alebo viac argumentov (v závislosti od počtu premenných v triede).
- Kopírovať konštruktor: berie ako argument iný konštruktor.
C# má vyššie uvedený zastrešujúci výraz pre predvolené a primárne konštruktory – konštruktory inštancií. Tento programovací jazyk má aj ďalšie dva konštruktory (súkromný a statický). Tento článok sa zameriava na troch tradičných konštruktérov.
Predvolený konštruktor
// predvolený konštruktor
verejnosti zákazník()
{
IdNumber = 0;
Meno = "neznámy";
Celkom = 0;
}
Primárny konštruktér
// primárny konštruktor
verejnostiZákazník(int IdNumber, string Name, string CustomerType, dvojitý Celkom)
{
toto.IdNumber = IDNumber;
toto.Meno = Meno;
toto.Celkom = Celkom;
}
Kopírovať konštruktor
// kopírovanie konštruktora
verejnosti Zákazník (predchádzajúci zákazník)
{
toto.IdNumber = predchádzajúciZákazník. Identifikačné číslo;
toto.Meno = predchádzajúciZákazník. Názov;
toto.Celkom = predchádzajúciZákazník. Celkom;
}
Vytváranie metód
Metódy nie sú kľúčovým komponentom triedy, ale sú užitočné. Trieda môže mať jednu alebo viac metód. Metóda má modifikátor prístupu, návratový typ, názov a telo.
// metóda
verejnosti string CustomerDetail()
{
vrátiť " ID: " + IDNumber + " Názov: " + Meno + " Celkom: " + Celkom;
}
Vyššie uvedený kód vráti reťazcovú reprezentáciu objektu zákazníka.
Vytváranie objektov
Po vytvorení kompletnej triedy, jej vybavení atribútmi, konštruktormi a metódou, môžete začať vytvárať objekty pomocou rôznych konštruktorov. Ak chcete vytvoriť objekt bez atribútov, môžete použiť predvolený konštruktor:
Zákazník John = Nový Zákazník();
Riadok kódu vyššie vytvorí predvoleného zákazníka a priradí ho k premennej s názvom John. s John, máte prístup k predvolenej hodnote každého atribútu zákazníka.
Konzola.WriteLine(John.Názov);
Spustenie vyššie uvedeného kódu vytlačí v konzole nasledovné:
Neznámy
Môžete tiež použiť John premennej na prístup k akejkoľvek metóde v triede zákazníkov.
Konzola.WriteLine(John.Podrobnosti o zákazníkovi());
Po vykonaní vyššie uvedeného riadku kódu sa v konzole vytlačí nasledujúci výstup:
ID: 0 Meno: neznáme Celkom: 0
Na vytvorenie objektu s atribútmi by ste použili primárny konštruktor:
Zákazník Ján = nový zákazník (1001, "John Doe", 250.20);
Konzola.WriteLine(John.Podrobnosti o zákazníkovi());
Po vykonaní vyššie uvedeného kódu sa v konzole vytlačí nasledujúci výstup:
ID: 1001 názov: JohnLaňCelkom: 250.2
Ak chcete vytvoriť kópiu vyššie uvedeného objektu, môžete použiť konštruktor kopírovania:
Zákazník Johnny = Nový Zákazník (John);
Konzola.WriteLine(Johnny.Podrobnosti o zákazníkovi());
Po vykonaní vyššie uvedeného kódu sa v konzole vytlačí nasledujúci výstup:
ID: 1001 názov: JohnLaňCelkom: 250.2
Ako môžete vidieť, kopírovací konštruktor je kópiou primárneho konštruktora. Konštruktor kopírovania môže tiež použiť predvolený konštruktor ako argument:
Zákazník John = Nový Zákazník();
Zákazník Johnny = Nový Zákazník (John);
Konzola.WriteLine(Johnny.Podrobnosti o zákazníkovi());
Po vykonaní vyššie uvedeného kódu sa v konzole vytlačí nasledujúci výstup:
ID: 0 Meno: neznáme Celkom: 0
Teraz môžete vytvárať a používať triedy C#
Objektovo orientovanú paradigmu v C# môžete použiť na definovanie tried a vytváranie objektov z nich. Pre každú triedu môžete vytvoriť metódy, ktoré potom môžu pracovať s atribútmi svojich objektov.
Objektovo orientovaná paradigma však nie je jediná, ktorú musíte poznať. Tri najlepšie programovacie paradigmy sú imperatívne, objektovo orientované a funkčné.