Programmierparadigmen sind die Theorien oder Ideen, die dabei helfen, die verschiedenen Sprachen zu formen, die Sie zum Erstellen von Software verwenden. Sie stellen die Hauptmerkmale einer Programmiersprache dar und bestimmen ihr Verhalten.

Man kann daher mit Sicherheit sagen, dass ein Paradigma genauso wichtig ist wie die Syntax und Semantik einer Programmiersprache. Die meisten populären Programmiersprachen verwenden eine von wenigen Arten von Programmierparadigmen.

1. Imperative Programmierung

Das imperative Paradigma ist einer der frühesten Programmieransätze, der bis in die 1950er Jahre zurückreicht. Dieses Paradigma stützt sich stark auf die Verwendung von Variablen, Befehlen und Prozeduren.

Imperative Programmierung verwendet Befehle, um Variablen zu prüfen und zu aktualisieren und den Zustand in einem Programm zu speichern. Eine Kombination von Befehlen erstellt dann eine Prozedur. Die Datenabstraktion spielt eine entscheidende Rolle bei der Datendarstellung, was eine lose Kopplung erleichtert.

Eine der beliebtesten Sprachen, die das imperative Paradigma verwendet, ist C. Diese Programmiersprache unterstützt nur Funktionsprozeduren.

Ein zwingendes Programmbeispiel

#enthalten 
#enthalten

struct Kunde
{
int Kunden-ID;
char Bestellnummer[20];
Zeichenname[30];
Float OrderTotal;
};

void main ()
{
struct Kunde John = {4000, "HK1001", "John Doe", 200,00};
struct Kunde Jane = {4001, "HK1002", "Jane Doe", 600,00};

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

printf ("Die Gesamtkosten für %s Bestellnummer %s betragen: %.2f $",Jane. Namen, Jane. Bestellnummer, Jane. Auftragssumme);
}

Das obige C-Programm erstellt a Kunde Struktur. Die Struktur type ist ein Paradebeispiel für Datenabstraktion in C.

Das Programm demonstriert, wie Befehle den Status erstellen, aktualisieren und anzeigen können – über die Jane Strukturvariable. Alle diese Befehle sind in a hauptsächlich() Funktion, die insgesamt ein Verfahren ist, das angibt, wie viel Geld ein Kunde für eine Bestellung bezahlen soll.

Das Ausführen des obigen Programms erzeugt die folgende Ausgabe in Ihrer Konsole:

Die Gesamtkosten für Jane Jones Bestellnummer HK1002 betragen: 600,00 $

2. Objekt orientierte Programmierung

Das objektorientierte Programmierparadigma begann in den 1990er Jahren. Dieses Paradigma ist ein Nachkomme des Imperativs. Das objektorientierte Paradigma speichert den Zustand jedoch in Objekten und nicht in Variablen.

Programmiersprachen, die das objektorientierte Paradigma verwenden, handhaben komplexe Anwendungen oft besser. Die Kernfunktionen des Paradigmas sind Objekte, Klassen, Datenkapselung, Vererbung und Polymorphismus.

Eine Klasse ist die grundlegende Komponente eines objektorientierten Programms. Einige Klassen erben Eigenschaften und Operationen von anderen Klassen. Programmierer beschreiben dies als Eltern-Kind-Beziehung. Es fällt unter die Kategorie des Subtyp-Polymorphismus.

Klassen enthalten Tools zum Ausblenden und Schützen sensibler Daten durch Kapselung. Sobald Sie eine Klasse definiert haben, können Sie sie verwenden, um Objekte zu erstellen.

Drei der beliebtesten Programmiersprachen, die das objektorientierte Paradigma verwenden, sind Java, C++ und Python.

Ein objektorientiertes Programmbeispiel

Diese Anwendung demonstriert die meisten Funktionen einer objektorientierten Programmiersprache, Java. Ein bestimmter Kundentyp erbt das Verhalten eines allgemeineren Typs. Alle Kunden implementieren eine Schnittstelle. Der spezifische Kundentyp überschreibt eine Methode aus der Schnittstelle.

Die Discountable.java-Datei

öffentlich zugänglichSchnittstelle rabattfähig {

öffentlich zugänglichLeere grandTotal (String Bestellnummer, doppelt gesamt);

}

Der obige Code erstellt eine Schnittstelle. In Java ist eine Schnittstelle ein weiteres Beispiel für Polymorphismus. Es ermöglicht Entitäten, die nicht direkt verwandt sind, auf dieselben Eigenschaften zuzugreifen, wie z Gesamtsumme Methode. Diese Anwendung konzentriert sich auf Kunden, aber eine Mitarbeiterklasse könnte auch Verwendung für die Discountable-Schnittstelle haben.

Die Customer.java-Datei

öffentlich zugänglichKlasse Kunde implementiert rabattfähig {
geschütztint Kundennummer;
geschützt Zeichenfolge Kundenname;
geschützt Zeichenfolge Kundencode;

öffentlich zugänglich Kunde() {
Das.Kunden-ID = 0;
Das.Kundenname = "";
Das.Kundencode = "";
}

öffentlich zugänglich Kunde(int Kunden-ID, Zeichenfolge Kundenname, Zeichenfolge Kundencode) {
Das.KundenID = KundenID;
Das.Kundenname = Kundenname;
Das.Kundencode = Kundencode;
}

öffentlich zugänglichint getCustomerId() {
Rückkehr Kundennummer;
}
öffentlich zugänglichLeere setCustomerId(int Kundennummer) {
Das.KundenID = KundenID;
}
öffentlich zugänglich Zeichenfolge getCustomerName() {
Rückkehr Kundenname;
}
öffentlich zugänglichLeere setKundenname (String Kundenname) {
Das.Kundenname = Kundenname;
}
öffentlich zugänglich Zeichenfolge getCustomerCode() {
Rückkehr Kundennummer;
}

öffentlich zugänglichLeere setCustomerCode (String Kundencode) {
Das.Kundencode = Kundencode;
}

öffentlich zugänglichdoppelt Kundentyp (String Kundencode) {
doppelt Rabatt = 0;

wenn (customerCode.toLowerCase().equals("pre")) {
Rabatt = 0,10;
} anderswenn (customerCode.toLowerCase().equals("gen")) {
Rabatt = 0,02;
} anderswenn (Kundencode.toLowerCase().equals("neu")) {
Rabatt = 0,05;
}
Rückkehr Rabatt;
}

@Überschreiben
öffentlich zugänglichLeere grandTotal (String Bestellnummer, doppelt insgesamt) {

doppelt Rabatt = Kundentyp (Kundencode);
doppelt RabattProzent = Gesamt * Rabatt;
doppelt finalTotal = total - discountPercentage;

System.aus.println("Für "+ getCustomerName() + " order Number " + orderNumber + " ist die Gesamtsumme: $" + finalTotal);
}

}

Der obige Code erstellt a Kunde Klasse. Es implementiert die Rabattfähig Benutzeroberfläche und verwendet dann seine Methode, um basierend auf der Kategorie des Kunden eine Gesamtsumme zu berechnen und anzuzeigen. Die geschützt Schlüsselwort im obigen Code ist ein Beispiel für Datenkapselung; es schränkt den Zugriff auf die Daten ein, die durch diese Klasse erstellt wurden. Also nur Unterklassen (oder untergeordnete Klassen) der Kunde Klasse hat Zugriff auf ihre Daten.

Die NewCustomer.java-Datei

öffentlich zugänglichKlasse Neukunde erweitert Kunde {
öffentlich zugänglich Neukunde() {
Super();
}

öffentlich zugänglich Neukunde(int Kunden-ID, Zeichenfolge Kundenname, Zeichenfolge Kundencode) {
Super(Kunden-ID, Kundenname, Kundencode);
}

}

Der obige Code erstellt a Neukunde Klasse, die die erweitert Kunde Klasse. Dies Die Java-Klasse verwendet Vererbung eine Eltern-Kind-Beziehung mit dem darzustellen Kunde Klasse. Die Neukunde ist das untergeordnete Element in der Beziehung, hat also Zugriff auf alle Eigenschaften in der Customer-Klasse. Es importiert die Attribute der Customer-Klasse mithilfe von Super() Methode.

Die App.java-Datei

öffentlich zugänglichKlasse Anwendung {
öffentlich zugänglichstatischLeere main (String[] args) {
Kunde Jane = Neu NewCustomer (4001, „Jane Jones“, „neu“);
Jane.grandTotal("HK1002", 600);
}
}

Der obige Code erstellt eine ausführbare Datei App Klasse. Diese Klasse erstellt ein Kundenobjekt (Jane) und macht Jane durch Polymorphismus zu einem Neukunde. Schließlich wird die Gesamtsumme für Janes Bestellung generiert. Das Ausführen des obigen Programms erzeugt die folgende Ausgabe in der Konsole:

Für Jane Jones Bestellnummer HK1002 beträgt die Gesamtsumme: 570,0 $

3. Funktionale Programmierung

Die Schlüsselkonzepte dieses Paradigmas sind Ausdrücke, Funktionen, parametrischer Polymorphismus und Datenabstraktion. Ausdrücke sind die grundlegenden Komponenten der Funktionen, die von funktionalen Programmiersprachen verwendet werden. Parametrischer Polymorphismus ist eine von drei Arten von Polymorphismus. Dieser Typ erleichtert die generische Programmierung durch Funktionen und Typen.

JavaScript ist eine der beliebtesten funktionalen Programmiersprachen.

Ein funktionales Programmbeispiel

konstanter Kunde = {
Identnummer: 1002,
Name: 'Jane Jones',
Kundencode: 'neu'
}

const main = (Kunde, Funktion, Wert) => {
var total = func.apply (null, [Kunde. Kundencode, Wert ]);
console.log(`${Kunde. Name} insgesamt ist: ${total}`);
}

const grandTotal = (Kundencode, gesamt) => {
if (Kundencode == "neu") {
Rabatt = Gesamt * 0,05;
mainTotal = total - Rabatt;
return mainTotal;
} else if (Kundencode == "pre") {
Rabatt = Gesamt * 0,10;
mainTotal = total - Rabatt;
return mainTotal;
}
}

main (Kunde, grandTotal, 600);

Das obige JavaScript-Programm hat eine Objektliteral und zwei Funktionen. Es deklariert jede der Funktionen als Ausdruck mit der JavaScript-Pfeilfunktion. Die hauptsächlich() Funktion ist eine Funktion höherer Ordnung. Es dauert die Gesamtsumme function als eines ihrer Argumente und ruft dann diese Funktion auf. Dies ist auch ein Beispiel für parametrischen Polymorphismus.

Die Gesamtsumme() Funktion enthält mehrere Ausdrücke, und die KundeObjekt ist ein Beispiel für Datenabstraktion. Das obige Programm erzeugt die folgende Ausgabe in der Konsole:

Jane Jones insgesamt: 570 $

Die Komplexität von Programmiersprachen

Eine Programmiersprache kann die Konzepte eines Programmierparadigmas verkörpern, aber das bedeutet nicht, dass sie auf ein Paradigma beschränkt ist. Viele der populären Programmiersprachen (wie Python, Java, JavaScript und C++) sind Multi-Paradigmen-Sprachen.

Einige Programmierparadigmen, wie z. B. die imperativen und objektorientierten Paradigmen, sind ebenfalls verwandt. Aber trotz dieser Verwandtschaft gibt es einige signifikante Unterschiede.

Objektorientierte Programmierung vs. Prozedurale Programmierung: Was unterscheidet sie?

Lesen Sie weiter

TeilenTwitternTeilenEmail

Verwandte Themen

  • Programmierung
  • Programmierung
  • Funktionale Programmierung
  • Objekt orientierte Programmierung
  • Programmiersprachen

Über den Autor

Kadeisha Kean (51 veröffentlichte Artikel)

Kadeisha Kean ist ein Full-Stack-Softwareentwickler und technischer/Technologie-Autor. Sie hat die ausgeprägte Fähigkeit, einige der komplexesten technologischen Konzepte zu vereinfachen; Material zu produzieren, das von jedem Technologieneuling leicht verstanden werden kann. Sie schreibt leidenschaftlich gerne, entwickelt interessante Software und bereist die Welt (durch Dokumentarfilme).

Mehr von Kadeisha Kean

Abonniere unseren Newsletter

Abonnieren Sie unseren Newsletter für technische Tipps, Rezensionen, kostenlose E-Books und exklusive Angebote!

Klicken Sie hier, um sich anzumelden