Programovacie paradigmy sú teórie alebo nápady, ktoré pomáhajú formovať rôzne jazyky, ktoré používate na vytváranie softvéru. Predstavujú hlavné charakteristiky programovacieho jazyka a určujú jeho správanie.

Dá sa teda s istotou povedať, že paradigma je rovnako dôležitá ako syntax a sémantika programovacieho jazyka. Väčšina populárnych programovacích jazykov používa jeden z mála typov programovacej paradigmy.

1. Imperatívne programovanie

Imperatívna paradigma je jedným z prvých prístupov k programovaniu, ktorý siaha až do 50. rokov minulého storočia. Táto paradigma sa vo veľkej miere opiera o používanie premenných, príkazov a procedúr.

Imperatívne programovanie používa príkazy na kontrolu a aktualizáciu premenných, pričom ukladá stav v programe. Kombinácia príkazov potom vytvorí procedúru. Abstrakcia údajov hrá kľúčovú úlohu pri reprezentácii údajov, čo uľahčuje voľné spojenie.

Jeden z najpopulárnejších jazykov, ktorý používa imperatívnu paradigmu, je C. Tento programovací jazyk podporuje iba funkčné procedúry.

Príklad imperatívneho programu

#include 
#include

struct Zákazník
{
int CustomerId;
char Číslo objednávky[20];
Názov znaku[30];
float OrderTotal;
};

void main ()
{
struct Zákazník Ján = {4000, "HK1001", "John Doe", 200,00};
struct Zákazník Jane = {4001, "HK1002", "Jane Doe", 600,00};

memcpy (Jane. Meno, "Jane Jones", 10);

printf ("Celkové náklady na %s číslo objednávky %s sú: $%.2f",Jane. Meno, Jane. Číslo objednávky, Jane. Celková suma objednávky);
}

Vyššie uvedený program C vytvára a Zákazník štruktúru. The štrukturovať typ je ukážkovým príkladom abstrakcie údajov v jazyku C.

Program demonštruje, ako môžu príkazy vytvárať, aktualizovať a zobrazovať stav — cez Jane štruktúrna premenná. Všetky tieto príkazy sú v a hlavné() funkciu, čo je ako celok postup, ktorý uvádza, koľko peňazí by mal zákazník zaplatiť za objednávku.

Spustenie vyššie uvedeného programu vytvorí vo vašej konzole nasledujúci výstup:

Celková cena objednávky Jane Jones číslo HK1002 je: 600,00 USD

2. Objektovo orientované programovanie

Paradigma objektovo orientovaného programovania sa rozbehla v 90. rokoch. Táto paradigma je potomkom imperatívu. Objektovo orientovaná paradigma však ukladá stav do objektov a nie do premenných.

Programovacie jazyky, ktoré používajú objektovo orientovanú paradigmu, často zvládajú zložité aplikácie lepšie. Hlavnými črtami paradigmy sú objekty, triedy, zapuzdrenie údajov, dedičnosť a polymorfizmus.

Trieda je základným komponentom objektovo orientovaného programu. Niektoré triedy dedia vlastnosti a operácie z iných tried. Programátori to opisujú ako vzťah rodič-dieťa. Spadá do kategórie polymorfizmu podtypu.

Triedy obsahujú nástroje na skrytie a ochranu citlivých údajov prostredníctvom zapuzdrenia. Po definovaní triedy ju môžete použiť na vytváranie objektov.

Tri z najpopulárnejších programovacích jazykov, ktoré používajú objektovo orientovanú paradigmu, sú Java, C++ a Python.

Príklad objektovo orientovaného programu

Táto aplikácia demonštruje väčšinu funkcií objektovo orientovaného programovacieho jazyka Java. Špecifický typ zákazníka preberá správanie zo všeobecnejšieho typu. Všetci zákazníci implementujú rozhranie. Špecifický typ zákazníka prepíše metódu z rozhrania.

Súbor Discountable.java

verejnostirozhranie Zľavnené {

verejnostineplatné grandTotal (reťazec orderNumber, dvojitý Celkom);

}

Vyššie uvedený kód vytvára rozhranie. V jazyku Java je rozhranie ďalší príklad polymorfizmu. Umožňuje entitám, ktoré priamo nesúvisia, prístup k rovnakým vlastnostiam, ako je napr úhrn metóda. Táto aplikácia sa zameriava na zákazníkov, ale pre diskontné rozhranie by mohla mať využitie aj trieda zamestnancov.

Súbor Customer.java

verejnostitrieda Zákazník náradia Zľavnené {
chránenéint customerId;
chránené Reťazec customerName;
chránené reťazec zákaznícky kód;

verejnosti Zákazník() {
toto.customerId = 0;
toto.customerName = "";
toto.customerCode = "";
}

verejnosti Zákazník(int customerId, String customerName, String customerCode) {
toto.customerId = customerId;
toto.customerName = customerName;
toto.customerCode = zákaznícky kód;
}

verejnostiint getCustomerId() {
vrátiť customerId;
}
verejnostineplatné setCustomerId(int customerId) {
toto.customerId = customerId;
}
verejnosti String getCustomerName() {
vrátiť Meno zákazníka;
}
verejnostineplatné setCustomerName (String customerName) {
toto.customerName = customerName;
}
verejnosti String getCustomerCode() {
vrátiť Zákaznický kód;
}

verejnostineplatné setCustomerCode (String customerCode) {
toto.customerCode = zákaznícky kód;
}

verejnostidvojitý customerType (String customerCode) {
dvojitý zľava = 0;

ak (customerCode.toLowerCase().equals("pre")) {
zľava = 0,10;
} inakak (customerCode.toLowerCase().equals("gen")) {
zľava = 0,02;
} inakak (customerCode.toLowerCase().equals("nové")) {
zľava = 0,05;
}
vrátiť zľava;
}

@Prepísať
verejnostineplatné grandTotal (reťazec orderNumber, dvojitý Celkom) {

dvojitý zľava = customerType (customerCode);
dvojitý zľava Percento = celkom * zľava;
dvojitý finalTotal = total - zľavaPercentage;

systém.von.println("Pre "+ getCustomerName() + " číslo objednávky " + orderNumber + " celkový súčet je: $" + finalTotal);
}

}

Vyššie uvedený kód vytvára a Zákazník trieda. Implementuje Zľavnené rozhranie, potom použije svoju metódu na výpočet a zobrazenie celkového súčtu na základe kategórie zákazníka. The chránené kľúčové slovo v kóde vyššie je príkladom zapuzdrenia údajov; obmedzuje prístup k údajom vytvoreným prostredníctvom tejto triedy. Takže iba podtriedy (alebo podtriedy) z Zákazník trieda bude mať prístup k svojim údajom.

Súbor NewCustomer.java

verejnostitrieda Nový zákazník predlžuje Zákazník {
verejnosti Nový zákazník() {
Super();
}

verejnosti Nový zákazník(int customerId, String customerName, String customerCode) {
Super(customerId, customerName, customerCode);
}

}

Vyššie uvedený kód vytvára a Nový zákazník trieda, ktorá rozširuje Zákazník trieda. Toto Trieda Java používa dedičnosť reprezentovať vzťah rodič-dieťa s Zákazník trieda. The Nový zákazník je dieťa vo vzťahu, takže má prístup ku všetkým vlastnostiam v triede Zákazník. Importuje atribúty triedy Zákazník pomocou Super() metóda.

Súbor App.java

verejnostitrieda Aplikácia {
verejnostistatickéneplatné main (String[] args) {
Zákazník Jane = Nový Nový zákazník (4001, "Jane Jones", "nový");
Jane.grandTotal("HK1002", 600);
}
}

Vyššie uvedený kód vytvorí spustiteľný súbor App trieda. Táto trieda vytvára objekt Customer (Jane) a prostredníctvom polymorfizmu robí Jane a Nový zákazník. Nakoniec vygeneruje celkový súčet pre Janinu objednávku. Spustenie vyššie uvedeného programu vygeneruje v konzole nasledujúci výstup:

V prípade objednávky Jane Jones číslo HK1002 je celková suma: 570,0 USD

3. Funkčné programovanie

Kľúčovými pojmami tejto paradigmy sú výrazy, funkcie, parametrický polymorfizmus a abstrakcia údajov. Výrazy sú základnými komponentmi funkcií používaných funkcionálnymi programovacími jazykmi. Parametrický polymorfizmus je jedným z troch typov polymorfizmu. Tento typ uľahčuje všeobecné programovanie prostredníctvom funkcií a typov.

JavaScript je jedným z najpopulárnejších funkčných programovacích jazykov.

Príklad funkčného programu

stály zákazník = {
IdNumber: 1002,
Meno: 'Jane Jones',
Zákaznícky kód: 'nový'
}

const main = (zákazník, funkcia, hodnota) => {
var total = func.apply (null, [ zákazník. Kód zákazníka, hodnota ]);
console.log(`${zákazník. Name} total is: ${total}`);
}

const grandTotal = (CustomerCode, total) => {
if (CustomerCode == "new") {
zľava = spolu * 0,05;
mainTotal = celkom - zľava;
návrat mainTotal;
} else if (CustomerCode == "pre") {
zľava = spolu * 0,10;
mainTotal = celkom - zľava;
návrat mainTotal;
}
}

hlavný (zákazník, grandTotal, 600);

Vyššie uvedený program JavaScript má príponu objektový doslovný a dve funkcie. Každú z funkcií deklaruje ako výraz pomocou Funkcia šípky JavaScript. The hlavné() funkcia je funkcia vyššieho rádu. Trvá to úhrn funkciu ako jeden z jej argumentov, potom túto funkciu zavolá. Toto je tiež príklad parametrického polymorfizmu.

The úhrn() funkcia obsahuje niekoľko výrazov a Zákazníkobjekt je príkladom abstrakcie údajov. Vyššie uvedený program generuje v konzole nasledujúci výstup:

Celková suma Jane Jones: 570 dolárov

Zložitosť programovacích jazykov

Programovací jazyk môže stelesňovať koncepty jednej programovacej paradigmy, ale to neznamená, že je obmedzený na jednu paradigmu. Mnohé z populárnych programovacích jazykov (ako napríklad Python, Java, JavaScript a C++) sú jazyky s viacerými paradigmami.

Niektoré programovacie paradigmy, ako napríklad imperatívne a objektovo orientované paradigmy, tiež súvisia. Ale napriek tejto príbuznosti existujú určité významné rozdiely.

Objektovo orientované programovanie vs. Procedurálne programovanie: Čím sa líšia?

Prečítajte si ďalej

zdieľamTweetujtezdieľamEmail

Súvisiace témy

  • Programovanie
  • Programovanie
  • Funkčné programovanie
  • Objektovo orientované programovanie
  • Programovacie jazyky

O autorovi

Kadeisha Kean (51 publikovaných článkov)

Kadeisha Kean je vývojár úplného softvéru a technicko-technologický spisovateľ. Má výraznú schopnosť zjednodušiť niektoré z najzložitejších technologických konceptov; produkovať materiál, ktorý je ľahko zrozumiteľný pre každého technologického nováčika. Je nadšená písaním, vývojom zaujímavého softvéru a cestovaním po svete (prostredníctvom dokumentárnych filmov).

Viac od Kadeishy Keanovej

prihlásiť sa ku odberu noviniek

Pripojte sa k nášmu bulletinu a získajte technické tipy, recenzie, bezplatné e-knihy a exkluzívne ponuky!

Kliknutím sem sa prihlásite na odber