Třída je šablona, ​​která definuje tvar objektu. Specifikuje jak data, tak kód, který s těmito daty pracuje. Objekty jsou instancemi třídy. Třída je logická abstrakce. Nemá smysl mluvit o jeho implementaci, dokud není vytvořen objekt třídy a jeho fyzická reprezentace se neobjeví v paměti. Data jsou obsažena v proměnných instance a kód je obsažen v metodách. Třída také definuje řadu speciálních datových členů a členských metod, jako jsou statické proměnné, konstanty, konstruktory, destruktory, indexátory, události, operátory a vlastnosti.

Deklarace objektu typu Budova:

Stavba domu = nová budova();

Tato reklama slouží dvěma účelům. Nejprve deklaruje proměnnou s názvem dům třídy typu Building. Ale tato proměnná nedefinuje objekt, ale může na něj pouze odkazovat. Za druhé, dotyčná deklarace vytvoří skutečnou fyzickou kopii objektu a přiřadí proměnné house odkaz na tento objekt. A to vše je dílem nového operátora. Takže po provedení výše uvedeného řádku kódu bude variabilní dům odkazovat na objekt typu Building.

Operátor new dynamicky (to znamená, když je program spuštěn) alokuje paměť pro objekt a vrací na něj odkaz. Tato reference (uložená v konkrétní proměnné) slouží jako adresa objektu v paměti, kterou mu přidělil operátor new. V C# tedy musí být paměť dynamicky alokována pro všechny objekty třídy.

Existují i ​​jiné výklady pojmu „třída“, které ukazují zejména to, jak se třída liší od předmětu. Představte si třídu jednoduše jako nový datový typ (jako char, int nebo long), ke kterému jsou přidruženy některé metody. Objekt je instancí typu nebo třídy. Definování třídy jako návrhu objektu. Na základě třídy – „návrhu“ sady funkcí – můžete vytvořit objekt, který má všechny schopnosti této třídy.

Pole je členská proměnná obsahující nějakou hodnotu a popsaná uvnitř třídy. V OOP se pole někdy nazývají objektová data. Na pole můžete použít několik modifikátorů v závislosti na tom, jak hodláte pole používat. Mezi modifikátory patří static, readonly a const. Pole charakterizují vlastnosti objektů třídy. Když je vytvořen nový objekt třídy, je tento objekt sadou polí třídy. Dva objekty stejné třídy mají stejnou sadu polí, ale liší se v hodnotách uložených v těchto polích. Každé pole má modifikátor přístupu, který nabývá jedné ze čtyř hodnot: public, private, protected, internal( Jeho účelem je uvést, že některý člen je znám ve všech souborech zahrnutých v sestavení, ale je neznámý mimo něj. Jednoduše řečeno, člen označený tímto modifikátorem zná pouze program, ale ne jinde).

ČTĚTE VÍCE
Je možné použít mouku, pokud jsou v ní brouci?

Metoda je prvek třídy, který implementuje výpočty nebo jiné akce prováděné třídou nebo instancí. Metoda je část kódu, která může být adresována jménem. Je popsán jednou a lze jej volat tolikrát, kolikrát je potřeba. Metoda má také specifikátory přístupu: public, private, protected, virtual, override, abstract.

Metody jsou procedury (rutiny), které manipulují s daty definovanými ve třídě a v mnoha případech poskytují přístup k těmto datům. Různé části programu obvykle interagují s třídou prostřednictvím jejích metod. Každá metoda obsahuje jednu nebo více instrukcí. Každá metoda má svůj název a tento název se používá k jejímu volání. Obecně můžete metodě dát jakýkoli název. Za názvy metod následuje dvojice závorek. Pokud je například název metody getval, pak text bude říkat getval(). To pomáhá odlišit názvy proměnných od názvů metod.

Záznam metody: přístup k názvu return_type (seznam_parametrů)

Vlastnosti se někdy nazývají „chytrá pole“, protože jsou to ve skutečnosti metody, které klienti třídy považují za pole. Slouží k organizaci přístupu k polím třídy. Vlastnost se skládá z názvu a dvojice přístupových objektů (get, set). Přístupové objekty se používají ke čtení obsahu proměnné a zápisu nové hodnoty do ní. Hlavní výhodou vlastnosti je, že její název lze použít ve výrazech a příkazech přiřazení stejně jako regulární proměnnou, i když ve skutečnosti budou přístupové objekty get a set volány automaticky.

[specifier] zadejte název_vlastnosti

set<>//setter se používá k jeho změně

3. Třída. Syntaxe deklarace třídy. Odkaz na sebe

Objektově orientované programování a návrh je postaven na třídách. Jakýkoli softwarový systém postavený v objektovém stylu lze považovat za kolekci tříd, případně zkombinovaných do projektů, jmenných prostorů, řešení, jak se to dělá při programování ve Visual Studio .Net. Třída má dvě různé role: modul a datový typ. Třída je modul, architektonická jednotka budování softwarového systému. Modularita konstrukce je hlavní vlastností softwarových systémů. Softwarový systém postavený na modulárním principu se v OOP skládá z tříd, které jsou hlavním typem modulu.

Třída je šablona, ​​která definuje tvar objektu. Specifikuje jak data, tak kód, který s těmito daty pracuje. Objekty jsou instancemi třídy. Třída je logická abstrakce. Nemá smysl mluvit o jeho implementaci, dokud není vytvořen objekt třídy a jeho fyzická reprezentace se neobjeví v paměti. Data jsou obsažena v proměnných instance a kód je obsažen v metodách. Třída také definuje řadu speciálních datových členů a členských metod, jako jsou statické proměnné, konstanty, konstruktory, destruktory, indexátory, události, operátory a vlastnosti.

ČTĚTE VÍCE
Které topidlo je bezpečnější, olejové nebo konvektorové?

Třída je vytvořena pomocí klíčového slova class. Obecná forma definice třídy, která obsahuje pouze proměnné instance a metody, je následující:

[attributes][modifiers]class class_name [:parent_list]

typ přístupu proměnná1; typ přístupu proměnnáN;

přístup metoda return_type 1 (parametry) // Deklarace metody

přístup metoda return_typeN (parametry)

V C# se toto vyhrazené slovo používá k označení aktuálního objektu. Potřeba takového slova souvisí především s řešením konfliktů jmen v konstruktorech. Konfliktům se samozřejmě můžete snáze vyhnout výběrem různých jmen. Navíc toto slovo nelze použít k označení statických členů třídy, protože nepatří ke konkrétnímu objektu, ale ke třídě jako celku.