Programmēšanas paradigmas ir teorijas vai idejas, kas palīdz veidot dažādas valodas, kuras izmantojat programmatūras izveidei. Tie atspoguļo galvenās programmēšanas valodas īpašības, kas nosaka tās uzvedību.
Tāpēc var droši teikt, ka paradigma ir tikpat svarīga kā programmēšanas valodas sintakse un semantika. Vispopulārākās programmēšanas valodas izmanto vienu no dažiem programmēšanas paradigmu veidiem.
1. Obligāta programmēšana
Obligātā paradigma ir viena no agrākajām programmēšanas pieejām, kas aizsākās jau 1950. gados. Šī paradigma lielā mērā ir atkarīga no mainīgo, komandu un procedūru izmantošanas.
Imperatīvā programmēšana izmanto komandas, lai pārbaudītu un atjauninātu mainīgos, saglabājot stāvokli programmā. Pēc tam komandu kombinācija izveido procedūru. Datu abstrakcijai ir izšķiroša nozīme datu attēlošanā, kas atvieglo brīvu savienošanu.
Viena no populārākajām valodām, kas izmanto imperatīvo paradigmu, ir C. Šī programmēšanas valoda atbalsta tikai funkciju procedūras.
Obligāts programmas piemērs
#iekļauts
#iekļautsstrukturēt Klientu
{
int Klienta ID;
char OrderNumber[20];
char Vārds[30];
peldēt OrderTotal;
};anulēt galveno ()
{
struct Klients Jānis = {4000, "HK1001", "John Doe", 200,00};
struct Klients Jane = {4001, "HK1002", "Jane Doe", 600,00};memcpy (Džeina. Vārds, "Džeina Džounsa", 10);
printf ("%s pasūtījuma numura %s kopējās izmaksas ir: $%.2f", Džeina. Vārds, Džeina. Pasūtījuma numurs, Džeina. Kopējais pasūtījums);
}
Iepriekš minētā C programma izveido a Klients struktūra. The struktūra tips ir lielisks datu abstrakcijas piemērs C.
Programma parāda, kā komandas var izveidot, atjaunināt un parādīt stāvokli, izmantojot Džeina struktūras mainīgais. Visas šīs komandas ir a galvenais () funkcija, kas kopumā ir procedūra, kas nosaka, cik naudas klientam jāmaksā par pasūtījumu.
Palaižot iepriekš minēto programmu, jūsu konsolē tiks parādīta šāda izvade:
Jane Jones pasūtījuma numura HK1002 kopējās izmaksas ir: 600,00 USD
2. Objektorientētā programmēšana
Objektorientētās programmēšanas paradigma pacēlās 1990. gados. Šī paradigma ir imperatīvās pēctecis. Tomēr objektorientētā paradigma saglabā stāvokli objektos, nevis mainīgajos.
Programmēšanas valodas, kurās tiek izmantota objektorientētā paradigma, bieži vien labāk apstrādā sarežģītas lietojumprogrammas. Paradigmas galvenās iezīmes ir objekti, klases, datu iekapsulēšana, mantošana un polimorfisms.
Klase ir objektorientētas programmas pamata sastāvdaļa. Dažas klases pārmanto rekvizītus un darbības no citām klasēm. Programmētāji to raksturo kā vecāku un bērnu attiecības. Tas ietilpst polimorfisma apakštipa kategorijā.
Klasēs ir rīki, lai paslēptu un aizsargātu sensitīvus datus, izmantojot iekapsulēšanu. Kad esat definējis klasi, varat to izmantot, lai izveidotu objektus.
Trīs no populārākajām programmēšanas valodām, kurās tiek izmantota objektorientētā paradigma, ir Java, C++ un Python.
Objektorientētas programmas piemērs
Šī lietojumprogramma demonstrē lielāko daļu objektorientētas programmēšanas valodas Java funkciju. Konkrēts klientu veids pārmanto uzvedību no vispārīgāka veida. Visi klienti ievieš saskarni. Konkrētais klienta veids ignorē saskarnes metodi.
Discountable.java fails
publiskisaskarne Atlaide {
publiskinederīgs grandTotal (virknes orderNumber, dubultā Kopā);
}
Iepriekš minētais kods izveido saskarni. Java valodā interfeiss ir vēl viens polimorfisma piemērs. Tas ļauj entītijām, kas nav tieši saistītas, piekļūt tiem pašiem īpašumiem, piemēram, kopsumma metodi. Šī lietojumprogramma ir vērsta uz klientiem, taču arī darbinieku klase var izmantot saskarni Discountable.
Fails Customer.java
publiskiklasē Klients īsteno Atlaide {
aizsargātsstarpt klienta ID;
aizsargāts String customerName;
aizsargāts String customerCode;publiski Klients() {
šis.customerId = 0;
šis.customerName = "";
šis.customerCode = "";
}publiski Klients(starpt customerId, String customerName, String customerCode) {
šis.customerId = klienta ID;
šis.customerName = klientaVārds;
šis.customerCode = klienta kods;
}publiskistarpt getCustomerId() {
atgriezties klienta ID;
}
publiskinederīgs setCustomerId(starpt klienta ID) {
šis.customerId = klienta ID;
}
publiski String getCustomerName() {
atgriezties Klienta vārds;
}
publiskinederīgs setCustomerName (virkne customerName) {
šis.customerName = klientaVārds;
}
publiski String getCustomerCode() {
atgriezties klienta kods;
}publiskinederīgs setCustomerCode (virkne customerCode) {
šis.customerCode = klienta kods;
}publiskidubultā customerType (virkne customerCode) {
dubultā atlaide = 0;ja (customerCode.toLowerCase().equals("pre")) {
atlaide = 0,10;
} citsja (customerCode.toLowerCase().equals("gen")) {
atlaide = 0,02;
} citsja (customerCode.toLowerCase().equals("new")) {
atlaide = 0,05;
}
atgriezties atlaide;
}@Override
publiskinederīgs grandTotal (virknes orderNumber, dubultā Kopā) {dubultā atlaide = customerType (customerCode);
dubultā atlaideProcenti = kopējā * atlaide;
dubultā finalTotal = kopā - atlaidePercentage;Sistēma.ārā.println("Par "+ getCustomerName() + " order Number " + orderNumber + " kopējā summa ir: $" + finalTotal);
}
}
Iepriekš minētais kods izveido a Klients klasē. Tā īsteno Atlaide saskarni, pēc tam izmanto savu metodi, lai aprēķinātu un parādītu kopējo summu, pamatojoties uz klienta kategoriju. The aizsargāts atslēgvārds iepriekš minētajā kodā ir datu iekapsulēšanas piemērs; tas ierobežo piekļuvi datiem, kas izveidoti, izmantojot šo klasi. Tātad, tikai apakšklases (vai pakārtotās klases). Klients klasei būs piekļuve saviem datiem.
Fails NewCustomer.java
publiskiklasē Jauns klients pagarina Klients {
publiski Jauns klients() {
super();
}publiski Jauns klients(starpt customerId, String customerName, String customerCode) {
super(customerId, customerName, customerCode);
}
}
Iepriekš minētais kods izveido a Jauns klients klase, kas paplašina Klients klasē. Šis Java klase izmanto mantojumu pārstāvēt vecāku un bērnu attiecības ar Klients klasē. The Jauns klients ir bērns attiecībās, tāpēc tam ir pieejami visi Klientu klases īpašumi. Tas importē Klientu klases atribūtus, izmantojot super() metodi.
App.java fails
publiskiklasē Lietotne {
publiskistatisksnederīgs galvenais (virkne[] args) {
Kliente Džeina = jauns NewCustomer (4001, "Jane Jones", "new");
Jane.grandTotal("HK1002", 600);
}
}
Iepriekš minētais kods izveido izpildāmo failu App klasē. Šī klase izveido Klienta objektu (Džeina) un, izmantojot polimorfismu, padara Džeinu a Jauns klients. Visbeidzot, tas ģenerē Džeinas pasūtījuma kopējo summu. Iepriekš minētās programmas izpilde konsolē ģenerēs šādu izvadi:
Jane Jones pasūtījuma numurs HK1002 kopējā summa ir: 570,0 USD
3. Funkcionālā programmēšana
Šīs paradigmas galvenie jēdzieni ir izteiksmes, funkcijas, parametriskais polimorfisms un datu abstrakcija. Izteiksmes ir funkcionālo programmēšanas valodu izmantoto funkciju pamatkomponenti. Parametriskais polimorfisms ir viens no trim polimorfisma veidiem. Šis tips atvieglo vispārīgo programmēšanu, izmantojot funkcijas un veidus.
JavaScript ir viena no populārākajām funkcionālās programmēšanas valodām.
Funkcionālās programmas piemērs
const Klients = {
ID numurs: 1002,
Vārds: Džeina Džounsa,
Klienta kods: "jauns"
}const main = (klients, funkcija, vērtība) => {
var total = func.apply (null, [ klients. Klienta kods, vērtība ]);
console.log(`${customer. Name} kopā ir: ${total}`);
}const grandTotal = (CustomerCode, Total) => {
if (CustomerCode == "new") {
atlaide = kopā * 0,05;
mainTotal = kopā - atlaide;
atgriezt galvenoKopā;
} else if (CustomerCode == "pre") {
atlaide = kopā * 0,10;
mainTotal = kopā - atlaide;
atgriezt galvenoKopā;
}
}
galvenais (Klients, grandTotal, 600);
Iepriekš minētajai JavaScript programmai ir objektu burtiski un divas funkcijas. Tas deklarē katru no funkcijām kā izteiksmi, izmantojot JavaScript bultiņas funkcija. The galvenais () funkcija ir augstākas kārtas funkcija. Tas aizņem kopsumma funkcija kā viens no tās argumentiem, tad izsauc šo funkciju. Šis ir arī parametriskā polimorfisma piemērs.
The kopsumma() funkcija satur vairākas izteiksmes, un Klientsobjektu ir datu abstrakcijas piemērs. Iepriekš minētā programma konsolē ģenerē šādu izvadi:
Džeinas Džounsas kopsumma: 570 USD
Programmēšanas valodu sarežģītība
Programmēšanas valoda var ietvert vienas programmēšanas paradigmas jēdzienus, taču tas nenozīmē, ka tā ir ierobežota ar vienu paradigmu. Daudzas no populārajām programmēšanas valodām (piemēram, Python, Java, JavaScript un C++) ir vairāku paradigmu valodas.
Dažas programmēšanas paradigmas, piemēram, imperatīvās un objektorientētās paradigmas, arī ir saistītas. Bet, neskatoties uz šo radniecību, ir dažas būtiskas atšķirības.
Objektorientētā programmēšana vs. Procedūru programmēšana: ar ko tās atšķiras?
Lasiet Tālāk
Saistītās tēmas
- Programmēšana
- Programmēšana
- Funkcionālā programmēšana
- Objektorientētā programmēšana
- Programmēšanas valodas
Par autoru
Kadeiša Kīna ir pilnas komplektācijas programmatūras izstrādātāja un tehnisko/tehnoloģiju rakstniece. Viņai ir izteikta spēja vienkāršot dažus no vissarežģītākajiem tehnoloģiskajiem jēdzieniem; ražo materiālu, ko var viegli saprast ikviens tehnoloģiju iesācējs. Viņa aizraujas ar rakstīšanu, interesantas programmatūras izstrādi un ceļošanu pa pasauli (izmantojot dokumentālās filmas).
Abonējiet mūsu biļetenu
Pievienojieties mūsu informatīvajam izdevumam, lai saņemtu tehniskos padomus, pārskatus, bezmaksas e-grāmatas un ekskluzīvus piedāvājumus!
Noklikšķiniet šeit, lai abonētu