Programske paradigme so teorije ali ideje, ki pomagajo oblikovati različne jezike, ki jih uporabljate za ustvarjanje programske opreme. Predstavljajo glavne značilnosti programskega jezika, ki narekujejo njegovo obnašanje.
Zato je varno reči, da je paradigma prav tako pomembna kot sintaksa in semantika programskega jezika. Večina priljubljenih programskih jezikov uporablja eno od nekaj vrst programske paradigme.
1. Imperativno programiranje
Imperativna paradigma je eden najzgodnejših pristopov k programiranju, ki sega že v petdeseta leta prejšnjega stoletja. Ta paradigma se močno opira na uporabo spremenljivk, ukazov in postopkov.
Imperativno programiranje uporablja ukaze za pregledovanje in posodabljanje spremenljivk ter shranjevanje stanja v programu. Kombinacija ukazov nato ustvari postopek. Abstrakcija podatkov ima ključno vlogo pri predstavitvi podatkov, kar olajša ohlapno povezovanje.
Eden izmed najbolj priljubljenih jezikov, ki uporablja imperativno paradigmo, je C. Ta programski jezik podpira samo funkcijske postopke.
Primer nujnega programa
#vključi
#vključistruct Stranka
{
int CustomerId;
char OrderNumber[20];
char Ime [30];
float OrderTotal;
};void main ()
{
struct Stranka John = {4000, "HK1001", "John Doe", 200,00};
struct Stranka Jane = {4001, "HK1002", "Jane Doe", 600,00};memcpy (Jane. Ime, "Jane Jones", 10);
printf ("Skupni stroški za %s številko naročila %s so: $%.2f",Jane. Ime, Jane. Številka naročila, Jane. OrderTotal);
}
Zgornji program C ustvari a Stranka strukturo. The struct type je odličen primer abstrakcije podatkov v C.
Program prikazuje, kako lahko ukazi ustvarijo, posodabljajo in prikažejo stanje - prek Jane strukturna spremenljivka. Vsi ti ukazi so v a glavni () funkcijo, ki je kot celota postopek, ki navaja, koliko denarja mora stranka plačati za naročilo.
Izvajanje zgornjega programa bo v vaši konzoli ustvarilo naslednji izhod:
Skupna cena za številko naročila Jane Jones HK1002 je: 600,00 $
2. Objektno usmerjeno programiranje
Paradigma objektno usmerjenega programiranja se je pojavila v devetdesetih letih prejšnjega stoletja. Ta paradigma je potomka imperativne. Vendar objektno usmerjena paradigma shranjuje stanje v objekte in ne v spremenljivke.
Programski jeziki, ki uporabljajo objektno usmerjeno paradigmo, pogosto bolje obravnavajo kompleksne aplikacije. Glavne značilnosti paradigme so objekti, razredi, enkapsulacija podatkov, dedovanje in polimorfizem.
Razred je temeljna komponenta objektno usmerjenega programa. Nekateri razredi podedujejo lastnosti in operacije drugih razredov. Programerji to opisujejo kot odnos med starši in otroki. Spada v kategorijo polimorfizma podtipa.
Razredi vsebujejo orodja za skrivanje in zaščito občutljivih podatkov z inkapsulacijo. Ko definirate razred, ga lahko uporabite za ustvarjanje predmetov.
Trije bolj priljubljeni programski jeziki, ki uporabljajo objektno usmerjeno paradigmo, so Java, C++ in Python.
Primer objektno usmerjenega programa
Ta aplikacija prikazuje večino funkcij objektno usmerjenega programskega jezika Java. Določen tip stranke podeduje vedenje bolj splošnega tipa. Vse stranke izvajajo vmesnik. Določen tip stranke preglasi metodo iz vmesnika.
Datoteka Discountable.java
javnostivmesnik popustljivo {
javnostinična grandTotal (String orderNumber, dvojno skupaj);
}
Zgornja koda ustvari vmesnik. V Javi je vmesnik še en primer polimorfizma. Entitetom, ki niso neposredno povezani, omogoča dostop do istih lastnosti, kot je skupna vsota metoda. Ta aplikacija se osredotoča na stranke, vendar bi lahko razred zaposlenih uporabljal tudi vmesnik Discountable.
Datoteka Customer.java
javnostirazred Stranka orodja popustljivo {
zaščitenint identifikacijska številka stranke;
zaščiten String customerName;
zaščiten String customerCode;javnosti Stranka() {
to.customerId = 0;
to.customerName = "";
to.customerCode = "";
}javnosti Stranka (int customerId, String customerName, String customerCode) {
to.customerId = ID stranke;
to.customerName = CustomerName;
to.customerCode = koda stranke;
}javnostiint getCustomerId() {
vrnitev identifikacijska številka stranke;
}
javnostinična setCustomerId(int identifikacijska številka stranke) {
to.customerId = ID stranke;
}
javnosti Niz getCustomerName() {
vrnitev Ime stranke;
}
javnostinična setCustomerName (String customerName) {
to.customerName = CustomerName;
}
javnosti Niz getCustomerCode() {
vrnitev koda stranke;
}javnostinična setCustomerCode (String customerCode) {
to.customerCode = koda stranke;
}javnostidvojno customerType (String customerCode) {
dvojno popust = 0;če (customerCode.toLowerCase().equals("pre")) {
popust = 0,10;
} drugoče (customerCode.toLowerCase().equals("gen")) {
popust = 0,02;
} drugoče (customerCode.toLowerCase().equals("new")) {
popust = 0,05;
}
vrnitev popust;
}@Preglasi
javnostinična grandTotal (String orderNumber, dvojno skupaj) {dvojno popust = customerType (customerCode);
dvojno odstotek popusta = skupno * popust;
dvojno finalTotal = skupno - odstotek popusta;sistem.ven.println("Za "+ getCustomerName() + " številka naročila " + številka naročila + " je skupna vsota: $" + finalTotal);
}
}
Zgornja koda ustvari a Stranka razredu. Izvaja Popustljiva vmesnik, nato uporabi svojo metodo za izračun in prikaz skupne vsote, ki temelji na kategoriji stranke. The zaščiten ključna beseda v zgornji kodi je primer enkapsulacije podatkov; omejuje dostop do podatkov, ustvarjenih s tem razredom. Torej, samo podrazredi (ali podrazredi) od Stranka razred bo imel dostop do svojih podatkov.
Datoteka NewCustomer.java
javnostirazred Nova stranka razteza Stranka {
javnosti Nova stranka() {
super();
}javnosti Nova stranka(int customerId, String customerName, String customerCode) {
super(ID stranke, Ime stranke, Koda stranke);
}
}
Zgornja koda ustvari a Nova stranka razred, ki razširja Stranka razredu. tole Razred Java uporablja dedovanje predstavljati odnos starš-otrok z Stranka razredu. The Nova stranka je otrok v odnosu, zato ima dostop do vseh lastnosti v razredu Customer. Uvozi atribute razreda Customer z uporabo super() metoda.
Datoteka App.java
javnostirazred Aplikacija {
javnostistatičnanična main (String[] args) {
Stranka Jane = novo NewCustomer (4001, "Jane Jones", "novo");
Jane.grandTotal("HK1002", 600);
}
}
Zgornja koda ustvari izvedljivo datoteko App razredu. Ta razred ustvari objekt Customer (Jane) in s polimorfizmom naredi Jane a Nova stranka. Končno ustvari skupni znesek za Janeino naročilo. Izvajanje zgornjega programa bo ustvarilo naslednji izhod v konzoli:
Za številko naročila Jane Jones HK1002 je skupni znesek: 570,0 $
3. Funkcionalno programiranje
Ključni koncepti te paradigme so izrazi, funkcije, parametrični polimorfizem in abstrakcija podatkov. Izrazi so temeljne komponente funkcij, ki jih uporabljajo funkcionalni programski jeziki. Parametrični polimorfizem je ena od treh vrst polimorfizma. Ta vrsta omogoča generično programiranje s pomočjo funkcij in tipov.
JavaScript je eden najbolj priljubljenih funkcionalnih programskih jezikov.
Primer funkcionalnega programa
const Stranka = {
Identifikacijska številka: 1002,
Ime: 'Jane Jones',
Koda stranke: 'novo'
}const main = (stranka, funkcija, vrednost) => {
var total = func.apply (nič, [ stranka. Koda stranke, vrednost ]);
console.log(`${customer. Skupno ime} je: ${total}`);
}const grandTotal = (koda stranke, skupaj) => {
če (koda stranke == "novo") {
popust = skupaj * 0,05;
mainTotal = skupaj - popust;
vrni mainTotal;
} sicer če (koda stranke == "pred") {
popust = skupaj * 0,10;
mainTotal = skupaj - popust;
vrni mainTotal;
}
}
glavni (Stranka, grandTotal, 600);
Zgornji program JavaScript ima objektno dobesedno in dve funkciji. Vsako od funkcij deklarira kot izraz z uporabo Puščična funkcija JavaScript. The glavni () funkcija je funkcija višjega reda. To traja skupna vsota funkcijo kot enega od svojih argumentov, nato pokliče to funkcijo. To je tudi primer parametričnega polimorfizma.
The skupna vsota() funkcija vsebuje več izrazov in Strankapredmet je primer abstrakcije podatkov. Zgornji program ustvari naslednji izhod v konzoli:
Jane Jones skupaj je: 570 $
Kompleksnost programskih jezikov
Programski jezik lahko uteleša koncepte ene programske paradigme, vendar to ne pomeni, da je omejen na eno paradigmo. Številni priljubljeni programski jeziki (kot so Python, Java, JavaScript in C++) so jeziki z več paradigmami.
Nekatere paradigme programiranja, kot sta imperativna in objektno usmerjena paradigma, so prav tako povezane. Toda kljub temu sorodstvu obstajajo pomembne razlike.
Objektno usmerjeno programiranje vs. Proceduralno programiranje: po čem se razlikujejo?
Preberite Naprej
Povezane teme
- Programiranje
- Programiranje
- Funkcionalno programiranje
- Objektno usmerjeno programiranje
- Programski jeziki
O avtorju
Kadeisha Kean je razvijalka programske opreme s celotnim skladom in pisateljica tehničnega/tehnološkega področja. Ima izrazito sposobnost poenostavitve nekaterih najbolj zapletenih tehnoloških konceptov; izdelava materiala, ki ga lahko zlahka razume vsak novinec v tehnologiji. Navdušena je nad pisanjem, razvojem zanimive programske opreme in potovanjem po svetu (skozi dokumentarne filme).
Naročite se na naše novice
Pridružite se našemu glasilu za tehnične nasvete, ocene, brezplačne e-knjige in ekskluzivne ponudbe!
Kliknite tukaj, da se naročite