V programovaní C# sú vlastnosti veľké téma, pretože ponúkajú efektívny spôsob, ako spravovať prístup k vlastnostiam objektu. V nasledujúcich častiach ti ukážem, ako používať Get- a Set-vlastnosti na kontrolu prístupu k dátam v rámci tried a tým zabezpečiť väčšiu bezpečnosť.

Najdôležitejšie poznatky

  • Vlastnosti umožňujú kontrolovaný prístup k členským premenným triedy.
  • Get-vlastnosti slúžia na čítanie, Set-vlastnosti na zapisovanie hodnôt.
  • Prístup k vlastnostiam by sa nemal vykonávať priamo cez verejné členské premenné, ale cez vlastnosti, aby sa zachoval princíp zapuzdrenia.

Podrobný návod na používanie vlastností

1. Základné chápanie vlastností

Vlastnosti v C# sa líšia od klasických členských premenných, pretože ponúkajú kontrolovanú formu prístupu. Máš možnosť definovať getter (get) a setter (set). Tieto zabezpečujú, že je možné buď iba čítať, alebo aj zapisovať. To vedie k lepšiemu zapuzdreniu dát.

Úvod do C#-vlastností pre presnú kontrolu prístupu

2. Vytvorenie nového príkladu

Vytvorme príklad s autom, ktoré má vlastnosti ako evidenčné číslo, značka, veľkosť nádrže a množstvo paliva. Tieto vlastnosti budú definované pomocou vlastností v našej triede. Najprv musíš určiť vlastnosti v triede.

3. Vytvorenie konštruktora

Vytvor konštruktor, aby si nastavil vlastnosti nového auta pri vytváraní objektu. V tomto prípade by mal konštruktor prijímať parametre pre evidenčné číslo, značku, veľkosť nádrže a množstvo paliva. Pri tom použiješ kľúčové slovo this na odkazy na inštančné premenné.

4. Vyvinutie metódy tankovania

Teraz vytvoríme metódu, ktorá umožňuje tankovanie auta. Táto metóda musí zabezpečiť, že súčet aktuálneho množstva paliva a natankovaných litrov nepresiahne veľkosť nádrže. Vytvor chybovú správu, ktorá informuje používateľa, keď je nádrž príliš malá.

5. Vytvorenie objektu auta

Teraz vytvor v hlavnej triede nový objekt auta. Napríklad môžeš použiť model Opel a nastaviť rôzne parametre, ktoré sme predtým definovali v našom konštruktore.

6. Vyvolanie a kontrola tankovania

Po vytvorení objektu auta otestuj metódu tankovania. Nech používateľ zadá počet litrov a skontroluj, či všetko funguje správne. V konzole by si mal vidieť, koľko litrov je teraz v nádrži.

7. Implementácia Get-vlastností

Teraz chceš vytvoriť Get-vlastnosť pre množstvo paliva. Táto vlastnosť by mala vrátiť aktuálny stav množstva paliva. Ujisti sa, že názov píšeš v PascalCase a správne odkazuješ na premennú.

8. Pridanie Set-vlastností

Rozšír svoju triedu o Set-vlastnosti, aby mohol používateľ zmeniť množstvo paliva. Ujisti sa, že aj tu prebieha validácia, aby sa zabezpečilo, že hodnota nepresiahne veľkosť nádrže.

9. Testovanie Set-vlastnosti

Vráť sa do hlavnej triedy a vykonaj test, nastavením množstva paliva. Skontroluj novú hodnotu v výstupe.

10. Úprava evidenčného čísla a iných vlastností

Vytvoraj tiež Get- a Set-vlastnosti pre iné vlastnosti ako evidenčné číslo. Tu by bola jednoduchšia implementácia postačujúca, pretože si nevyžaduje veľa logiky.

11. Preverenie a kontrola kódu

Prejdi cez celý kód a uisti sa, že všetky funkcie fungujú, ako sa očakáva. Otestuj výstupy pre Get- aj Set-vlastnosti, aby si si bol istý, že hodnoty sú správne nastavené a vrátené.

Zhrnutie - Programovanie v C#: Vlastnosti a ich použitie

Vlastnosti môžu byť v C# veľmi užitočné na zabezpečenie integrity údajov v rámci tried. Cieleným používaním Get- a Set-vlastností si udržíš kontrolu nad prístupom a modifikáciou členských premenných. Príklad s autom ukazuje, ako tieto koncepty prakticky aplikovať.

Často kladené otázky

Jak môžem definovať vlastnosť v C#?Vlastnosť sa definuje pomocou kľúčového slova „public“ nasledovaného typom návratu a obsahuje aspoň jeden get- alebo set-blok.

Prečo sú vlastnosti lepšie ako verejné premenné?Vlastnosti ponúkajú lepšie zapuzdrenie a umožňujú validácie pri getter a setter, čo udržiava integritu údajov.

Môžem kombinovať viacero vlastností v jednej vlastnosti?Nie, vlastnosť zvyčajne reprezentuje iba jednu vlastnosť. Pre viacero hodnôt by si mal používať metódy.

Jak testujem funkčnosť svojich vlastností?Vytvor testovacie objekty a vyvolaj vlastnosti vo svojej hlavnej triede, aby si overil ich hodnoty.