Ist das C-Programmiersprachenobjektorientiert das C-Programmiersprache

Ist das C-Programmiersprachenobjektorientiert das C-Programmiersprache
Die C-Programmiersprache gibt es seit über vier Jahrzehnten und wird in vielen Anwendungen, die von eingebetteten Systemen bis zu groß angelegten Softwareentwicklung reichen, häufig verwendet. Die Debatte darüber, ob die C -Programmiersprache ist objektorientierte ist seit dem Auftauchen von weiter Objekt orientierte Programmierung (OOP) in den 1980er Jahren. Während einige argumentieren, dass C nicht ist objektorientierte, Andere bestehen darauf, dass es zum Schreiben verwendet werden kann objektorientierter Code. Dieser Aufsatz untersucht beide Argumente und liefert eine Schlussfolgerung.

Was ist objektorientierte Programmierung?

Lassen Sie uns zunächst definieren Objekt orientierte Programmierung. Das Programmierkonzept, bekannt als als Oop Teilen Sie Daten und Logik in wiederverwendbare, modulare Einheiten, die als Objekte bekannt sind. Diese Objekte enthalten Daten (als Eigenschaften oder Attribute bezeichnete Funktionen) und Funktionen (als Methoden genannte Methoden), die die Daten manipulieren und interagieren können. In Oop, Der Schwerpunkt liegt auf der Erstellung von gut definierten und eingekapselten Objekten, die miteinander kommunizieren können, um eine Aufgabe zu erledigen.

Ist das C-Programmiersprachenobjektorientiert das C-Programmiersprache?

Leider fungiert die C -Programmiersprache eher als prozedurale Sprache als als objektorientierte Sprache. In Anbetracht dessen können wir nun die Ursachen bewerten.

1: Klassen

Die Idee von Klassen ist eines der Hauptkonzepte von OOP. A Klasse beschreibt die Attribute und Methoden, die zum Objekt gehören und als Blaupause für den Aufbau von Objekten dienen. Leider fehlt C eine integrierte Methode für Klasse Definition. Es ist jedoch immer noch möglich zu erstellen eine klassenähnliche Struktur Verwenden von C -Datenstrukturen und -funktionen. Diese Strukturen können Daten enthalten, und die Funktionen können Vorgänge für diese Daten ausführen, ähnlich wie eine Klasse.

2: Kapselung

Ein weiterer wichtiger Aspekt von Oop ist Daten Verkapselung. Verkapselung Bezieht sich auf die Idee, Daten zu verbergen und den Zugriff darauf einzuschränken, um sicherzustellen, dass sie nur kontrolliert geändert werden. C hat NEIN eingebaute Mechanismen für Verkapselung, Aber es kann manuell mit Techniken wie Strukturen und Zeigern implementiert werden.

3: Vererbung

Die Fähigkeit einer Klasse zu erben Attribute und Funktionen aus einer anderen Klasse sind ein weiterer entscheidender Aspekt von OOP. Obwohl C keine Compiler -Unterstützung für Erbschaftsmechanismen hat, Nachlass kann mit Zeigern und Strukturen durchgeführt werden, indem Sie die platzieren vererbt Klassenattributstruktur als erstes Mitglied der abgeleiteten Klassenattributstruktur.

4: Polymorphismus

C auch Fehlen eine integrierte Funktion für Polymorphismus, Dadurch können Objekte verschiedene Formen und Typen übernehmen. C kann jedoch irgendeine Form von erreichen Polymorphismus Indem Sie Hinweise deklarieren, die auf Funktionen nach der Verwendung von Strukturen hinweisen.

Abschluss

Während C tut nicht haben eingebaut Unterstützung für objektorientierte Programmierfunktionen wie z Klassen, Verkapselung, Nachlass, Und Polymorphismus, Es ist immer noch möglich zu schreiben objektorientierte Code mit C -Datenstrukturen und -funktionen. Infolgedessen ist es genau zu argumentieren, dass C eine Programmiersprache ist, die die objektorientierte Programmierung unterstützt, aber nicht ausschließlich eine. Es ist jedoch erwähnenswert, dass C für C für verwendet wird Oop erfordert einen manuellen Ansatz im Vergleich zu Sprachen Oop, wie Java oder Python.