Programavimo paradigmos – tai teorijos arba idėjos, padedančios formuoti įvairias kalbas, kurias naudojate kurdami programinę įrangą. Jie atspindi pagrindines programavimo kalbos savybes, diktuojančias jos elgesį.

Todėl galima drąsiai teigti, kad paradigma yra tokia pat svarbi, kaip ir programavimo kalbos sintaksė ir semantika. Dauguma populiariausių programavimo kalbų naudoja vieną iš kelių programavimo paradigmų tipų.

1. Būtinas programavimas

Imperatyvioji paradigma yra vienas iš ankstyviausių požiūrių į programavimą, kilęs net 1950 m. Ši paradigma labai priklauso nuo kintamųjų, komandų ir procedūrų naudojimo.

Būtinas programavimas naudoja komandas kintamiesiems tikrinti ir atnaujinti, išsaugant būseną programoje. Tada komandų derinys sukuria procedūrą. Duomenų abstrakcija vaidina lemiamą vaidmenį pateikiant duomenis, o tai palengvina laisvą ryšį.

Viena iš populiariausių kalbų, kurioje naudojama imperatyvioji paradigma, yra C. Ši programavimo kalba palaiko tik funkcijų procedūras.

Būtinas programos pavyzdys

#įtraukti 
#įtraukti

struktūra Klientas
{
int Kliento ID;
Char OrderNumber[20];
char Pavadinimas[30];
float OrderTotal;
};

negalioja pagrindinis ()
{
struct Klientas Jonas = {4000, "HK1001", "John Doe", 200,00};
struct Klientas Jane = {4001, "HK1002", "Jane Doe", 600,00};

memcpy (Jane. Vardas, „Jane Jones“, 10);

printf ("Bendra kaina už %s užsakymo numerį %s yra: $%.2f",Jane. Vardas, Džeine. Užsakymo numeris, Džeinė. Užsakymo suma);
}

Aukščiau pateikta C programa sukuria a Klientas struktūra. The struktūra tipas yra puikus duomenų abstrakcijos pavyzdys C.

Programa parodo, kaip komandos gali sukurti, atnaujinti ir rodyti būseną per Džeinė struktūros kintamasis. Visos šios komandos yra a pagrindinis () funkcija, kuri kaip visuma yra procedūra, nurodanti, kiek pinigų klientas turi sumokėti už užsakymą.

Vykdydami aukščiau pateiktą programą jūsų konsolėje bus pateikta tokia išvestis:

Bendra Jane Jones užsakymo HK1002 kaina yra: 600,00 USD

2. Objektinis programavimas

Objektinio programavimo paradigma atsirado 1990 m. Ši paradigma yra imperatyvo palikuonis. Tačiau į objektą orientuota paradigma būseną saugo objektuose, o ne kintamuosiuose.

Programavimo kalbos, kuriose naudojama objektinė paradigma, dažnai geriau valdo sudėtingas programas. Pagrindinės paradigmos savybės yra objektai, klasės, duomenų inkapsuliavimas, paveldėjimas ir polimorfizmas.

Klasė yra pagrindinis objektinės programos komponentas. Kai kurios klasės paveldi savybes ir operacijas iš kitų klasių. Programuotojai tai apibūdina kaip tėvų ir vaikų santykius. Jis patenka į polimorfizmo potipio kategoriją.

Klasėse yra įrankių, skirtų slaptiems duomenims paslėpti ir apsaugoti inkapsuliuojant. Apibrėžę klasę, galėsite ją naudoti kurdami objektus.

Trys iš populiaresnių programavimo kalbų, kuriose naudojama objektinė paradigma, yra Java, C++ ir Python.

Objektinės programos pavyzdys

Ši programa demonstruoja daugumą objektinės programavimo kalbos „Java“ funkcijų. Konkretus klientų tipas paveldi elgesį iš bendresnio tipo. Visi klientai įdiegia sąsają. Konkretus kliento tipas nepaiso metodo iš sąsajos.

Discountable.java failas

viešassąsaja Nuolaida {

viešastuštuma grandTotal (Eilutės orderNumber, dvigubai iš viso);

}

Aukščiau pateiktas kodas sukuria sąsają. „Java“ yra sąsaja dar vienas polimorfizmo pavyzdys. Tai leidžia subjektams, kurie nėra tiesiogiai susiję, pasiekti tas pačias savybes, pvz., iš viso metodas. Ši programa skirta klientams, tačiau darbuotojų klasė taip pat gali naudoti Discountable sąsają.

„Customer.java“ failas

viešasklasė Klientas padargai Nuolaida {
apsaugotastarpt Kliento ID;
apsaugotas String customerName;
apsaugotas String customerCode;

viešas Klientas () {
tai.customerId = 0;
tai.customerName = "";
tai.customerCode = "";
}

viešas Klientas (tarpt customerId, String customerName, String customerCode) {
tai.customerId = kliento ID;
tai.customerName = klientoVardas;
tai.customerCode = kliento kodas;
}

viešastarpt getCustomerId() {
grąžinti Kliento ID;
}
viešastuštuma setCustomerId(tarpt Kliento ID) {
tai.customerId = kliento ID;
}
viešas Eilutė getCustomerName() {
grąžinti Kliento vardas;
}
viešastuštuma setCustomerName (Eilutė customerName) {
tai.customerName = klientoVardas;
}
viešas Eilutė getCustomerCode() {
grąžinti kliento kodas;
}

viešastuštuma setCustomerCode (eilutė customerCode) {
tai.customerCode = kliento kodas;
}

viešasdvigubai customerType (eilutė customerCode) {
dvigubai nuolaida = 0;

jeigu (customerCode.toLowerCase().equals("pre")) {
nuolaida = 0,10;
} Kitasjeigu (customerCode.toLowerCase().equals("gen")) {
nuolaida = 0,02;
} Kitasjeigu (customerCode.toLowerCase().equals("new")) {
nuolaida = 0,05;
}
grąžinti nuolaida;
}

@Nepaisyti
viešastuštuma grandTotal (Eilutės orderNumber, dvigubai iš viso) {

dvigubai nuolaida = customerType (customerCode);
dvigubai nuolaidaProcentai = bendra * nuolaida;
dvigubai finalTotal = iš viso – nuolaidaProcentai;

Sistema.išeiti.println("Užsakymo "+ getCustomerName() + " order Number " + orderNumber + " bendra suma yra: $" + finalTotal);
}

}

Aukščiau pateiktas kodas sukuria a Klientas klasė. Jis įgyvendina Nuolaida sąsaja, tada naudoja savo metodą bendrai sumai apskaičiuoti ir rodyti pagal kliento kategoriją. The apsaugotas raktinis žodis aukščiau pateiktame kode yra duomenų inkapsuliavimo pavyzdys; ji apriboja prieigą prie duomenų, sukurtų per šią klasę. Taigi, tik poklasiai (arba antrinės klasės). Klientas klasė turės prieigą prie savo duomenų.

Failas NewCustomer.java

viešasklasė Naujas klientas tęsiasi Klientas {
viešas Naujas klientas() {
super();
}

viešas Naujas klientas(tarpt customerId, String customerName, String customerCode) {
super(customerId, customerName, customerCode);
}

}

Aukščiau pateiktas kodas sukuria a Naujas klientas klasė, kuri pratęsia Klientas klasė. Tai Java klasė naudoja paveldėjimą atstovauti tėvų ir vaikų santykiams su Klientas klasė. The Naujas klientas yra santykių vaikas, todėl jis turi prieigą prie visų Klientų klasės savybių. Jis importuoja klientų klasės atributus naudodamas super () metodas.

App.java failas

viešasklasė App {
viešasstatinistuštuma pagrindinis (String[] args) {
Klientė Džeinė = naujas NewCustomer (4001, "Jane Jones", "nauja");
Jane.grandTotal("HK1002", 600);
}
}

Aukščiau pateiktas kodas sukuria vykdomąjį failą Programėlė klasė. Ši klasė sukuria kliento objektą (Jane) ir per polimorfizmą padaro Jane a Naujas klientas. Galiausiai sugeneruojama bendra Džeinės užsakymo suma. Vykdydami aukščiau pateiktą programą, konsolėje bus sukurta tokia išvestis:

Jane Jones užsakymo numeris HK1002 bendra suma yra 570,0 USD

3. Funkcinis programavimas

Pagrindinės šios paradigmos sąvokos yra išraiškos, funkcijos, parametrinis polimorfizmas ir duomenų abstrakcija. Išraiškos yra pagrindiniai funkcinių programavimo kalbų naudojamų funkcijų komponentai. Parametrinis polimorfizmas yra vienas iš trijų polimorfizmo tipų. Šis tipas palengvina bendrąjį programavimą per funkcijas ir tipus.

JavaScript yra viena iš populiariausių funkcinio programavimo kalbų.

Funkcinės programos pavyzdys

const Klientas = {
ID numeris: 1002,
Vardas: "Jane Jones",
Kliento kodas: „naujas“
}

const main = (klientas, funkcija, vertė) => {
var total = func.apply (null, [ klientas. Kliento kodas, reikšmė ]);
console.log(`${customer. Vardo} suma yra: ${total}`);
}

const grandTotal = (CustomerCode, total) => {
if (CustomerCode == "new") {
nuolaida = bendra * 0,05;
mainTotal = iš viso – nuolaida;
return mainTotal;
} else if (CustomerCode == "pre") {
nuolaida = bendra * 0,10;
mainTotal = iš viso – nuolaida;
return mainTotal;
}
}

pagrindinis (Klientas, grandTotal, 600);

Aukščiau pateikta JavaScript programa turi objektas pažodžiui ir dvi funkcijos. Jis deklaruoja kiekvieną funkciją kaip išraišką, naudodamas „JavaScript“ rodyklės funkcija. The pagrindinis () funkcija yra aukštesnės eilės funkcija. Tam reikia iš viso funkcija kaip vienas iš jos argumentų, tada iškviečia tą funkciją. Tai taip pat parametrinio polimorfizmo pavyzdys.

The iš viso() funkcijoje yra keletas išraiškų ir Klientasobjektas yra duomenų abstrakcijos pavyzdys. Aukščiau pateikta programa konsolėje generuoja šią išvestį:

Jane Jones bendra suma: 570 USD

Programavimo kalbų sudėtingumas

Programavimo kalba gali įkūnyti vienos programavimo paradigmos sąvokas, tačiau tai nereiškia, kad ji apsiriboja viena paradigma. Daugelis populiarių programavimo kalbų (pvz., Python, Java, JavaScript ir C++) yra kelių paradigmų kalbos.

Kai kurios programavimo paradigmos, tokios kaip imperatyvioji ir į objektą orientuotos paradigmos, taip pat yra susijusios. Tačiau nepaisant šios giminystės, yra keletas reikšmingų skirtumų.

Objektinis programavimas vs. Procedūrinis programavimas: kuo jie skiriasi?

Skaitykite toliau

DalintisTviteryjeDalintisEl. paštas

Susijusios temos

  • Programavimas
  • Programavimas
  • Funkcinis programavimas
  • Objektinis programavimas
  • Programavimo kalbos

Apie autorių

Kadeisha Kean (51 straipsnis paskelbtas)

Kadeisha Kean yra visos programinės įrangos kūrėja ir techninių / technologijų rašytoja. Ji turi išskirtinį gebėjimą supaprastinti kai kurias sudėtingiausias technologines koncepcijas; gaminant medžiagą, kurią gali lengvai suprasti bet kuris technologijų naujokas. Ji aistringai rašo, kuria įdomią programinę įrangą ir keliauja po pasaulį (per dokumentinius filmus).

Daugiau iš Kadeisha Kean

Prenumeruokite mūsų naujienlaiškį

Prisijunkite prie mūsų naujienlaiškio, kad gautumėte techninių patarimų, apžvalgų, nemokamų el. knygų ir išskirtinių pasiūlymų!

Norėdami užsiprenumeruoti, spustelėkite čia