Prvé programovacie jazyky boli nevyhnutné jazyky alebo strojové inštrukcie (kódy). Pozostávali z binárneho kódu, ktorý sa líšil v závislosti od stroja. Množina možných akcií pre tieto low-level "jazykov" bol malý, pretože každá inštrukcia stroja vykonať nejakú akciu (pridávanie, kopírovanie slovu stroj do registra, prechod na ďalšiu predvoľby). Samozrejme, pre pohodlie, programátori vyvinuli pre tieto strojové tímy skupinu písmenových analógov a tento spôsob komunikácie so strojom "železo" sa nazýva jazykový assembler.
Assembler
Jazyky na vysokej úrovni
Štruktúrované programovanie
Programovací jazyk C
objektovo orientované programovanie (OOP)
Napríklad človek, auto, oddelenie je abstrakciou, takže ho možno označiť ako triedu. Ivan, biela "Skoda" s číslami nn123 prevádzkové oddelenie - zvláštne zástupcovia týchto abstrakciou, ktorá je v jazyku objektovo orientovaného prístupu k programovaniu a ponúka dátové triedy. Úlohou developera je popísať abstraktné a konkrétne predmety reálneho sveta v jazyku OOP. Popis triedy je implementovaný v popise polí a metód.
pole
trieda Car
{
string značku = "Hunday" Solaris ";
reťazec color = "žltý",
dvojnásobná rýchlosť = 0
, /* zvyšok kódu aplikácie * /
}
Zapuzdrenie
pole môžu zmeniť ich hodnoty v priebehu programu, ak ho programátorom. Ak autor nechce pole boli k dispozícii mimo školy, a iné aplikácie (užívateľa) by mohlo zmeniť význam,, zhrnuté údaje, ktoré z nich robí dostupné pomocou kľúčových slov v súkromí, chránené. Yaksch v rovnakom ihrisku by mali byť k dispozícii v celom programe, predtým dali prístup verejnosti.
Napríklad môžeme všetci trieda ihrisko verejnosti
trieda Car
{
verejné reťazec značky
verejné reťazec farby,
verejné dvojnásobná rýchlosť,
*
zvyšok programového kódu
*
}
V tomto prípade je prístup k tieto polia nebudú obmedzené. V rozhraní môžete náhodne alebo úmyselne zmeniť dôležité údaje v poliach, ktoré súpokračovať v správnej ovplyvniť celý program
& lt; script & gt; (adsbygoogle = window.adsbygoogle || []) stlačte ({});
trieda MainClass
{
public void Main ()
{
auto = nový automobil ();
car.colour = "Červená";
/* zvyšok kódu aplikácie * /
}
}
, aby sa zabránilo nechceným zmenám dát, developer je zapuzdrí. V prípade farby auta, namiesto verejnosti, musíte písať súkromné. Zmena farby priamo nebude možná.
Metódy
Metódy sú funkcie, ktoré vám umožňujú pracovať s políčkami triedy alebo s niektorými inými údajmi. Rovnako ako všetky funkcie v procedurálnych programovacích jazykoch, berú dáta a môže buď vrátiť výsledok výpočtov a nevracať sa (napr zobrazenie niečo na konzole). Napríklad:
trieda automobil
{
verejné reťazec značka = "Hunday" Solaris "
verejné reťazec farba =" žltá ",
verejné dvojnásobná rýchlosť = 0;
/* Tu sú riešenia «pohon», ktorá sa prenáša logické variabilné whatIsTrafficLight (hodnoty iba falošné - červené svetlo, alebo pravda - zelené svetlo, je možné ísť) * /
public void pohonu (bool whatIsTrafficLight )
{
, ak (whatIsTrafficLight == true)
{
, rýchlosť = rýchlosť + 40,
,}
iný
{
, rýchlosť = 0;
}
}
}
v dôsledku toho, s použitím metódy jednotky zmeníme rýchlosť triedy
lt "stroj" .; script type = " text /javascript "& gt;
var blockSettings = {blockId:" RA-70350-45 "renderTo" yandex_rtb_R-a-70350 - 45 ", asynchrónne: ! 0},
, ak (document.cookie.indexOf ("abmatch =") väčšie alebo rovné 0) blockSettings.statId = 70350,
! Funkcia (a, b, c, d, e) {a [c] = a [c] || [], a [c] .push (funkcia () {Ya.Context.AdvManager.render (blockSettings)} ), e = b.getElementsByTagName ("scenár") , d = b.createElement ("scenár"), d.type = "text /javascript", d.src = "//an.yandex.ru/systém /context.js "d.async = 0e.parentNode.insertBefore (d, e)} (to, this.document ,!" yandexContextAsyncCallbacks ");
polymorfizmus
druhej "pilier" rozvoj objektovo orientované prístup - polymorfizmus. Bjarne Stroustrup je tvorca jazyka C ++, definícia polymorfizmus formuloval takto: "Jeden rozhranie - mnoho implementácií." Stručne povedané, polymorfizmus - príležitosť vytvoriť abstraktné triedu, ktorá popisuje celkový dizajn štruktúry, a z nej vytvoril sú odvodené triedy, ktoré implementujú žiadne mechanizmy. Napríklad pri vytváraní hernej charakter, pokiaľ ide o objektovo orientovaného prístupu by bolo logické, aby najprv vykonať abstraktné class Osoba, a nechať ho vytvoriť zvláštne triedy: Archer, liečiteľ, bojovník a tak ďalej.
Alebo príklad s autom. Ak budeme pracovať jeden počítač s viacerými polí a metódami, mali sme bez problémov ručne zmeniť niektoré hodnoty v kóde. Ale koľko takýchto strojov môže byť? Alebo napríklad používatelia v sociálnej sieti? Každý má svoje meno, rodinný stav, foto, mnoho významov, odkazy na iné stránky na používateľa a tak ďalej. A ak sa vývojári rozhodnúť, že sociálne siete redesign a niektoré užívateľské nastavenia, upraviť alebo odstrániť, a potom s týmto prístupom Tam je veľa práce. Tento problém rieši objektovo orientovaný prístup. Triedy nie sú vytvorené pre každý konkrétny predmet, ale pre abstraktnú triedu a z nej pôvodnesa vytvorili kurzy dedičov. Rovnako ako zapuzdrenie, polymorfizmus je druhým najdôležitejším pravidlom OOP.
Dedičstvo
Dedičstvo je ďalším pravidlom pri použití objektovo orientovaného prístupu. Spočíva v schopnosti dedičskej triedy využívať funkcie materskej triedy. Napríklad, ak chceme mať v našej flotile motocykel, potom nie je potrebné písať rovnaké vlastnosti pre novú triedu. Namiesto toho môžete povedať, že motocykel je trieda dediča z auta. Potom je možné použiť podobné polia a metódy stroja v triede motocykla, napríklad značka, farba, rýchlosť. V kóde dedičstva je uvedené nasledovné:
trieda Motocykel: Auto
{
/* zvyšok programového kódu * /
}
Polia a metódy triedy-rodič auto sú k dispozícii pre použitie v triede-dediča motocykla. Stručne povedané, dedičstvo je mechanizmom na opätovné použitie kódu a jeho cieľom je pohodlné a logicky kompetentné rozšírenie programu. Tiež dedičstvo pomáha dodržiavať zásadu DRY (Neopakujte sa). Podľa tejto zásady by kód nemal mať opakujúce sa stránky, pretože vytvára zbytočné zaťaženie pri zostavovaní a vykonávaní programu. Ak sa v kóde nachádzajú opakujúce sa oblasti, musí sa optimalizovať - opakovať to v samostatných metódach a spôsobiť to podľa potreby; aplikujte dedičstvo na logicky podobné objekty, ktoré majú rovnaké polia a metódy.