Trieda v programovaní. Typy tried v programovacích jazykoch

Trieda v programovaní je zoskupenie údajov, polí a funkcií alebo metód. Všetky sa nazývajú premenné, metódy alebo členské funkcie. Program je zostavený zo súboru tried. Po definovaní a implementácii môžete deklarovať jeho prvky podobne ako jazykové premenné z primitívnych typov" int"," double " A "String".

Stručná história programovacieho jazyka

Stručná história programovacieho jazyka

SIMULA bol prvý objektový jazyk, ktorý sa používal na vytváranie simulácií. Alanovi Kayovi, ktorý v tom čase študoval na univerzite v Utahu, sa tento jazyk páčil, pretože v budúcnosti by sa mohol aplikovať na osobný počítač s cieľom implementovať graficky orientované aplikácie. . Navrhol, aby jazyk ako SIMULA poskytol začiatočníkom dobrý spôsob vytvárania programov, a podelil sa o svoju víziu s Xerox Parc. V skorých 1970, tím vedený Alan Key vytvoril prvý počítač s názvom Dynabook s objektovo orientovaným jazykom Smalltalk, ktorý existuje dodnes, aj keď nie je široko používaný na komerčné účely.

Nápad objektovo orientované programovanie (OOP) bol vyvinutý v roku 1970, a na začiatku 1980 Bjorn Stroustrup integrovaný do jazyka C, ktorý sa stal známym "ako C ++" - prvý objektovo orientovaný jazyk (Ooi), široko používaný na komerčné účely.

V skorých 1990, skupina na slnku pod vedením Jamesa Goslinga vyvinula jednoduchšiu verziu C++ s názvom Java. Ktorý mal byť jazykom pre aplikácie videa na požiadanie. Tento programovací projekt Java od nuly nebol nikdy implementovaný. Skupina bola nútená zamerať svoju pozornosť na vývoj jazyk pre internetové aplikácie. S rozvojom internetu si začal získavať čoraz väčšiu popularitu, aj keď jeho prienik na trh bol kvôli jeho zjavnej neefektívnosti dosť obmedzený.

Objektovo orientované modelovanie

Triedy a objekty sú dva z mála kľúčových stavebných blokov OOP. Používajú sa na modelovanie správania a zapuzdrenie. V skutočnom svete nájdete veľa samostatných objektov rovnakého typu. Napríklad existujú tisíce bicyklov rovnakej značky a modelu. Každý z nich bol vyrobený z jednej sady, a preto obsahuje rovnaké komponenty. Z hľadiska OO To znamená, že bicykel je inštanciou triedy predmetov známych ako bicykle. Je to jednoduché. Trieda v programovacích jazykoch je plán na vytváranie konkrétnych objektov. Napríklad bicykel je jednou z možných implementácií.

Objektovo orientované modelovanie

Môžete si všimnúť, že trieda bicyklov neobsahuje "hlavný" metóda. Vzhľadom na to, že nepredstavuje úplnú žiadosť, ale iba plán pre bicykle. Zodpovednosť za vytváranie a používanie nových cyklistických objektov patrí v programovaní do inej triedy. A Bicycle Demo je ten, ktorý vytvára dva samostatné objekty bicyklov a volá ich metódy.

Metódy volania bicyklov

Výstupom tohto testu je konečná rýchlosť a prevodový stupeň pre tieto dva bicykle.

Základné pojmy

Premenná je názov s hodnotou, ktorá sa môže meniť v celom programe. Podľa obsiahnutých informácií sú rozdelené do 2 alebo viacerých typov v závislosti od použitého jazyka. Vo všeobecnosti existujú 2 typy klasifikácií:

  1. Premenné primitívnych typov. Sú definované jednou hodnotou — celým číslom, pohyblivou rádovou čiarkou, symbolom alebo logickým znakom.
  2. Referenčné premenné sú názvy zložitejších informácií: polia alebo objekty určitej triedy.

Kľúčovým bodom OOP je zabrániť nesprávnym informáciám, pretože premenné neboli inicializované správne. Na správnu identifikáciu objektov je potrebné použiť konštruktor metódy, ktorý sa spustí automaticky pri každom vytvorení objektu. Ich hlavným poslaním je Rezervovať pamäť, vykonávať inicializáciu premenných členov triedy v programovaní. Nemajú návratovú hodnotu "void" a ich názov je rovnaký ako názov zdieľanej skupiny. Jeho implicitným argumentom je objekt, ktorý sa vytvára.

Triedy a objekty v Pythone

Python odkazuje na OO programovacie jazyky, , čím sa líši od procedurálne orientovaného, kde sa hlavný dôraz kladie na funkcie, je založený na objektoch. Objekt je súbor údajov a funkcií, ktoré ich ovplyvňujú. Trieda je plán pre objekt. Učebňu si môžete predstaviť ako náčrt (prototyp) domu. Obsahuje všetky podrobnosti o podlahách, dverách, oknách a iných konštrukciách. Na základe týchto opisov je postavený dom, ktorý je objektom.

Triedy a objekty v Pythone

Objekt je jednoducho súbor údajov a metód( funkcií), ktoré na tieto údaje pôsobia. Trieda je plán pre objekt. Učebňu si môžete predstaviť ako náčrt (prototyp) domu. Obsahuje všetky podrobnosti o podlahách, dverách, oknách a iných konštrukciách. Na základe týchto opisov je postavený dom, ktorý je objektom.

Pretože z popisu je možné vyrobiť veľa domov, je možné vytvoriť veľa objektov z jednej skupiny. Nazýva sa tiež inštancia. Čo máme na konci? Proces demonštruje koncept inštancie triedy a jej vytvorenie. Rovnako ako definície funkcií začínajú kľúčovým slovom "def", Python definuje skupinu pomocou "triedy". Prvý riadok sa nazýva "docstring" a má krátky popis triedy.

Trieda vytvára nové miestne Menný priestor, v ktorom sú definované všetky jeho atribúty, môžu to byť údaje alebo funkcie. Má tiež špeciálne tie, ktoré začínajú dvojitým podčiarknutím (_ _ ). Napríklad "_ _ doc _ _ " dáva reťazec dokumentu tejto triedy v programovaní.

Hneď ako je definovaný, vytvorí sa nový objekt s rovnakým názvom. Umožňuje vám prístup k rôznym atribútom, ako aj vytváranie nových objektov tejto triedy.

Nové objekty tejto triedy

Slovo "trieda"

Python je skvelý jazyk, ktorý podporuje OOP, používa sa na inštaláciu triedy. Ponúka množstvo výhod oproti iným jazykom Java, C++ alebo R. Je to dynamický jazyk s dátovými typmi na vysokej úrovni, takže vývoj je oveľa rýchlejší ako v prípade Java alebo C ++. Programátor nemusí deklarovať typy premenných a argumentov. Začiatočníkom tiež uľahčuje porozumenie a učenie sa Pythonu, jeho kód je čitateľnejší a intuitívnejší.

Na definovanie triedy v Pythone môžete použiť kľúčové slovo "trieda", za ktorým nasleduje názov a dvojbodka. Vo vnútri jeho metódy" __init__ " by mala byť definovaná pomocou "def". Toto je inicializátor, ktorý je možné neskôr použiť na vytváranie objektov, musí byť vždy prítomný. Je to podobné ako v prípade konštruktora Java.

Vyžaduje sa jeden argument "ja", ktorý sa vzťahuje na samotný objekt. Vo vnútri metódy sa používa kľúčové slovo "pass" a použije sa správne odsadenie. "Self" v Pythone je ekvivalentom "this" V C++ alebo triedach v Jave. V tomto prípade je v podstate prázdny "pes", ale zatiaľ nie je žiadny objekt. Trieda má presné špecifikácie, ako je plán alebo šablóna. Uzatvárajú zmluvu o triede.

Zobraziť členenie

Triedu je možné rozdeliť na dve časti:

  1. Hlavička triedy, ktorá sa skladá z kľúčového slova "trieda" a meno, ktoré je mu priradené. Názvy v programovacích jazykoch sú známe aj ako identifikátory.
  2. Telo, ktoré sa skladá z dvojice otváracích / zatváracích zvlnených konzol s prvkami medzi nimi.

Tu je šablóna pre zdrojový kód triedy:

trieda

{

...

}

Keď je trieda napísaná, nahradí sa menom. Telo sa skladá z jeden alebo reťazec z niekoľkých prvkov znamená ľubovoľný počet predchádzajúcich častí. Najmä, "Kľúčové slovo triedy" mal by začínať prvým stĺpcom riadku, za ktorým nasleduje zvyšok informácií o hlavičke - identifikátor v najjednoduchšom prípade.

Otvorená zvlnená zátvorka ohraničuje hlavičku a iniciuje telo triedy. Niektorí programátori ho radi umiestňujú na koniec riadku, ale najviac sa mu páči na samostatný riadok. Zvlnená konzola obmedzuje telo triedy. Zvyčajnou praxou je vložiť záverečnú zátvorku do stĺpca osobitne.

Zbierka prvkov

Obsah tela triedy pozostáva zo súboru prvkov. Členovia premenných nazývaných polia a časti, ktoré vytvára, označené metódami známymi aj ako postupy.

Obsah tela musí mať odsadenie najmenej dvoch stĺpcov. Mnoho programátorov ich robí naraz štyrmi stĺpcami, aby uľahčili čítanie zdrojového kódu. Na množstve nezáleží, ale musí sa zhodovať s ľubovoľným vybraným množstvom.

Je potrebné dodržiavať ešte jedno pravidlo: identifikátory tried musia začínať veľkým písmenom, rovnako ako každé nové slovo v ňom.

Triedy pozostávajú z prvkov. Členmi sú buď polia alebo metódy. Každý softvér musí mať špeciálnu metódu s názvom "hlavná", ak skombinujete zdrojový kód, získate šablónu pre minimálnu aplikáciu.

Toto je de facto štandard, kde mená začínajú veľkým písmenom, ako aj ďalšími slovami v ňom. Napríklad: MyClass je vhodný, ale MyClass a Myclass nie sú. , identifikátor triedy musí byť tiež názov súboru, do ktorého je zadaný zdrojový kód. Musí mať predĺženie ".java".

Slovo

Kľúčové slová triedy v Jave sú slová vyhradené ako základné stavebné kamene jazyka. Nemôžete ich použiť pre názvy vytvorených objektov. Napríklad identifikátory tried, polí a metód. Kompilátor tieto slová rozpozná a zaobchádza s nimi ako so špeciálnymi.

Slovo

Po spustení aplikácie Java sa použije príkaz "java", ktorý spustí JVM a určí súbor triedy na jeho vykonanie. Proces začína špeciálnou metódou, ktorú používateľ definuje ako" hlavnú " metódu aplikácie. Táto konvencia je tradíciou programovania Java od nuly, zdedená z " C ".

Odchádzajúci kód "main" () vždy vyzerá takto:

public static void main (Identifikátor reťazca [])

{

...

}

Kľúč "verejný" a "statický" ako špeciálne modifikátory na nájdenie "hlavného" sa našli a sú k dispozícii. Identifikátor môže byť čokoľvek — ale vo veľkej miere-štandard používa názov "arg", čo je skratka argumentov.

Konštruktor triedy Java

"Trieda" možno chápať ako prototyp, ktorý reguluje premenné a metódy spoločné pre konkrétny typ inštancie, definuje všetko, čo charakterizuje, a môže vytvoriť jednu alebo viac inštancií. Nastavuje premenné a metódy spoločné pre inštancie tohto typu vytvorené triedou, ale potom každý bude mať svoje vlastné hodnoty: šablónu, farbu a recept.

V jazyku Java sa Trieda vytvorí najskôr pred vytvorením inštancií. Objekt sa stáva inštanciou triedy. Obsahuje atribúty a metódy. Pri jeho vytváraní musíte špecifikovať typy, metódy, funkcie a názov atribútov, ako aj typ údajov, názvy a ďalšie parametre, ktoré používajú.

Základná štruktúra vyzerá takto.

Základná štruktúra triedy v jazyku Java

JavaScript bol vytvorený s názvom triedy "MyClass", ktorá má celkovo tri atribúty a všetky sú súkromné: "String", " int "a"float".

Limitná premenná

Triedy úložiska C sa používajú na opis funkcií premennej. Zahŕňajú hlavne rozsah, viditeľnosť a životnosť, ktoré pomáhajú sledovať existenciu konkrétnej premennej počas vykonávania programu.

Jazyk C používa 4 triedy úložiska. Presne:

  1. Automatické nastavenie predvolene pre všetky premenné deklarované vo vnútri bloku funkcie alebo triedy v C. Preto sa Kľúčové slovo "auto" zriedka používa pri písaní programov v jazyku C. K automatickým premenným je možné pristupovať iba vo vnútri bloku/funkcie, v ktorej boli deklarované, a nie mimo nich, čo určuje ich rozsah. Samozrejme, môžu byť prístupné v vnorených vnútri nadradeného bloku / funkcií,v ktorých bola deklarovaná automatická premenná. Môžu sa však dostať aj mimo ich rozsahu, čo ukazuje na veľmi presné miesto v pamäti, kde sa nachádzajú.
  2. Externé, keď je premenná definovaná inde, a nie tam, kde sa používa. Hodnota je spravidla priradená v jednom bloku a môže byť prepísaná v inom. "Extern" teda nie je nič iné ako globálna premenná inicializovaná s platnou hodnotou, v ktorej je deklarovaná na použitie inde.
  3. Statické, používané na deklarovanie statických premenných, ktoré sa široko používajú pri písaní tried v jazyku C. Majú vlastnosť zachovať si svoju hodnotu aj potom, čo idú nad rámec viditeľnosti. Môžeme teda povedať, že sú inicializované iba raz a existujú až do konca programu, nie je im pridelená žiadna nová pamäť, pretože nie sú znovu deklarované a rozsah závisí od funkcie, pre ktorú boli definované. Globálne statické premenné sú prístupné kdekoľvek v programe. V predvolenom nastavení sa im priradí hodnota 0.
  4. kompilátor registra deklaruje premenné, ktoré majú rovnakú funkčnosť ako automatické. Jediný rozdiel je v tom, že kompilátor sa ich pokúša uložiť do mikroprocesora, ak je prístup voľný. Vďaka tomu je použitie počas vykonávania programu oveľa rýchlejšie ako v pamäti. Ak nie je k dispozícii bezplatný register, ukladajú sa iba do pamäte. Zvyčajne je niekoľko premenných, ku ktorým je potrebné v programe veľmi často pristupovať, deklarovaných pomocou kľúčového slova "register", čo zlepšuje čas vykonávania programu.

Syntax: trieda úložiska var_data_type change_name.

Syntax: Trieda úložiska

Tajomstvo programovania

Nasledujúce odporúčania nie sú vyčerpávajúce a sú určené na správne používanie objektovo orientovaných programovacích dizajnových vzorov:

  1. Vyhnite sa všemocným triedam v Pythone.
  2. Použite zmysluplné mená.
  3. Pri vývoji triedy alebo refaktorovaní existujúceho kódu musí vývojár Vytvorte si zoznam zo všetkých úloh a prísť s menom.
  4. Pri používaní OOP je oveľa jednoduchšie prísť so zmysluplnými menami, pretože samotný dizajnový vzor často určuje typ zodpovednosti.
  5. Názov triedy musí začínať veľkým písmenom. Ak názov predstavuje zložité slovo alebo niekoľko slov, prvé písmeno každého slova musí byť veľké. Príklad: trieda štúdia, Trieda StudyTonight atď.
  6. Triedy obsahujú dátové členy a členské funkcie. A prístup k týmto prvkom a premenným závisí od špecifikátorov.
  7. Koncepcia členov triedy. Čo to znamená? Trieda v C++ je podobná štruktúram v C. Jediný rozdiel je v tom, že štandardne používa kontrolu súkromného prístupu a štruktúra je verejná.
  8. Všetky funkcie OOPS sa točia okolo tried v C-dedičnosť , zapuzdrenie, abstrakcia a ďalšie.
  9. Objekty obsahujú samostatné kópie údajov členov.
  10. Môžete vytvoriť toľko objektov, koľko potrebujete.

Objekt má jednotlivé premenné. Inicializujú sa pomocou špeciálnych triednych funkcií nazývaných konštruktory. A kedykoľvek to vypadne z rozsahu, zavolá sa ďalšia špeciálna funkcia s názvom Destructor, ktorá uvoľní pamäť vyhradenú objektom. C++ nemá automatický zberač odpadu, ako v Jave, v ňom Destructor vykonáva túto úlohu.

Každý objekt má rôzne premenné

Článok je napísaný jednoduchým jazykom o triedach programovania. Dúfame, že vám bol materiál jasný. Znalosť pravidiel používania objektovo orientovaných jazykov je hlavnou podmienkou pre vývoj úspešnej aplikácie. Dobrá architektúra znamená ušetrené peniaze na školenie, údržbu, testovanie, opravu, rozšírenie a zmenu mierky zdrojového kódu. To si vyžaduje viac času a starostlivosti o počiatočný vývoj, ale rýchlo vráti investíciu s veľkými záujmami. Ešte lepšie navrhnuté architektúry nevyhnutne potrebujú dočasné úpravy a refaktoring.

Články na tému