C und C + + Programming Resources

Share / Bookmark
Benutzerdefinierte Suche

OOP-Techniken

Geschrieben am 11. September 2008

Bevor wir in die Diskussion, was sind die objektorientierte programmingtechniques, let's erster Blick auf

Was macht eine Programmiersprache oder Methodik der objektorientierten Programmierung?

Nun, es gibt mehrere unbestreitbare Säulen der Objektorientierung.

Diese Merkmale zeichnen sich mehr als jede andere so weit wie Objekt-Orientierung geht.
Sie sind

  1. Verkapselung
  2. Data Hiding
  3. Überlastung
  4. Polymorphismus
  5. Grand-daddy von allen - Vererbung

Object Oriented Programming Techniques

Also, was sind die Techniken, die wir einsetzen können, um unsere objektorientierte?

Die Antwort ist einfach, jedes Programm, das die oben genannten fünf methedologies oder einen der es nutzt, können wir nennen das Programm orientiert Objekt. Und jeder Programmiersprache, die alle diese Funktionen und erleichtert dem Programmierer bei der Entwicklung des Programms in diesen methedologies unterstützt, heißt objektorientierte Programmiersprache zB C + +, Java, C #.

Das grundlegende Merkmal wird die Unterstützung für die Klassen sein. Wie können wir definieren und verwenden eine Klasse in C + +.

  class MyClass (
	 Öffentlichkeit:
	 int var1;
	 int var2;
 ); 

Und wir können das Erbe umzusetzen Technik wie

  Klasse newClass: MyClass
 (
	 Öffentlichkeit:
	 int var1;
	 int var2;
 ); 

So newClass erben alle Funktionen des MyClass.

Encapsulation & Data Versteck bedeutet, dass wir die Funktionalität und unser Objekt Daten aus dem UN-autorisierten Zugriff zu verstecken, dh wir können die var1 var2 aus und wird von newClass, indem sie die private Verwendung zu verstecken. Auf diese Weise haben wir var1 var2 nutzen können und nur in MyClass.

Einführung in die objektorientierte Programmierung und C + +

Seit der Erfindung des Computers, haben viele Programmierung Ansätze versucht worden. Dazu gehören Techniken wie modulare Programmierung, top-down-Programmierung, Bottom-up-Programmierung und strukturierten Programmierung. Die primäre Motivation in jedem Fall hat die Sorge um die zunehmende Komplexität von Programmen, die zuverlässig und wartungsfreundlich sind handhaben gewesen. Diese Techniken wurden unter Programmierern populär in den letzten zwei Jahrzehnten. Mit dem Aufkommen von Sprachen wie C, wurde Strukturierte Programmierung sehr beliebt und war die wichtigste Technik der 1980s.Structured Programmierung wurde ein mächtiges Werkzeug, dass Programmierer bis mäßig komplexe Programme relativ problemlos machen konnte. Jedoch, wie die Programme größer wurde, auch die strukturierte Vorgehensweise nicht zum gewünschten Ergebnisse in Form von Bug-frei, einfach zu pflegen zeigen, und wiederverwendbare Programme.

Objektorientierte Programmierung (OOP) ist ein Ansatz, der Organisation des Programms und der Entwicklung, dass einige der Fallstricke von konventionellen Methoden durch die Programmierung zu beseitigen, welche die besten Merkmale der strukturierten Programmierung mit mehreren leistungsstarken neuen Konzepten versucht. Es ist eine neue Art der Organisation und Entwicklung von Programmen und hat nichts mit einer bestimmten Sprache zu tun. Allerdings sind nicht alle Sprachen geeignet sind, die OPP Konzepte einfach umzusetzen.

Objektorientierte Programmierung wurde entwickelt, weil Beschränkungen in früheren Ansatz für die Programmplanung entdeckt wurden zu schätzen, was OOP funktioniert, zuerst alle diskutieren, was diese Grenzen ein und wie sie entstanden aus traditionellen Programmiersprachen.

PROCEDURE-orientierte Programmierung

Herkömmliche Programmierung mit Hochsprachen wie COBOL, Fortron, C und wird gemeinhin als Verfahrens-orientierte Programmierung bekannt. In dem Verfahren - orientierten Ansatz, das Problem ist als eine Folge der Dinge angesehen zu tun, wie Lesen, Berechnung und Druck. Eine Reihe von Funktionen geschrieben werden, um diese Aufgaben zu erfüllen. Der primäre Fokus liegt auf Funktionen. Ein typisches Programm-Struktur für prozeduralen Programmierung ist in Abb. 1. 1. Die Technik der hierarchischen Zerlegung wurde verwendet, um die Aufgaben festzulegen, um ein Problem zu lösen. Procedure-orientierte Programmierung besteht im Wesentlichen aus der Erstellung einer Liste von Anweisungen für den Computer zu folgen, und organisieren Sie diese Anleitung in Gruppen als Funktionen bekannt, Wir benutzen normalerweise ein Flussdiagramm, um diese Aktionen zu organisieren und repräsentieren die Ablaufsteuerung von einer Aktion zur anderen.

Während wir auf die Entwicklung von Funktionen konzentrieren sehr wenig Aufmerksamkeit wird auf die Daten, die von verschiedenen Funktionen eingesetzt werden gegeben. Was geschieht mit den Daten? Wie werden sie von den Funktionen, die auf ihnen arbeiten betroffen?

Grundbegriffe der objektorientierten Programmierung

Allgemeine Begriffe ausführlich in der objektorientierten Programmierung verwendet werden:

  1. Objects
  2. Unterricht
  3. Datenkapselung
  4. Datenabstraktion
  5. Erbschaft
  6. Polymorphismus
  7. Dynamische Bindung
  8. Message Passing

VORTEILE DER OOP

OOP bietet zahlreiche Vorteile sowohl für die Programm-Designer und dem Nutzer. Objektorientierung trägt zur Lösung vieler Probleme im Zusammenhang mit der Entwicklung und Qualität von Software-Produkten verbunden sind. Die neue Technik verspricht höhere Produktivität der Programmierer, bessere Qualität von Software und geringerer Wartungskosten. Die wichtigsten Vorteile sind:

Durch Vererbung können wir beseitigen redundanten Code und Ausweitung der Nutzung der bestehenden Klassen. Wir bauen können Programme aus dem Standard-Modulen arbeiten, die miteinander, anstatt zu schreiben den Code von Grund auf neu zu kommunizieren. Dies führt zu der Entwicklung Zeit und eine höhere Produktivität sparen. Das Prinzip der Datenkapselung hilft dem Programmierer zu sichern Programme, die nicht von Code in andere Teile des Programms fielen bauen können. Es ist möglich, mehrere Instanzen eines Objekts zu koexistieren, ohne jegliche Einmischung haben. Es ist einfach, die Arbeit im Projekt basierend auf objekt-Partition. Objektorientierte Systeme können leicht von kleinen bis großen Systemen aufgerüstet werden. Message-Passing-Techniken für die Kommunikation zwischen Objekten macht die Interface-Beschreibungen mit externen Systemen viel einfacher. Komplexität kann Software einfach verwaltet werden.

Einführung in C + +

C + + ist eine objektorientierte Programmiersprache, die auf der Basis der C-Sprache integriert. Die Sprache C + + ist eine Obermenge der C-Sprache. Also schreiben Sie C + +-Programme wie C-Programme (ein paar
der Programme in diesem Tutorial sind so), oder Sie können den Vorteil der objektorientierten Eigenschaften von C + + zu ergreifen, um objektorientierte Programme zu schreiben. Was macht eine Programmiersprache oder Methodik der objektorientierten Programmierung? Nun, es gibt mehrere unbestreitbare Säulen der Objektorientierung. Diese Merkmale zeichnen sich mehr als jede andere so weit wie Objekt-Orientierung geht. Sie sind
Kapselung, Datenkapselung, Überladen, Polymorphismus, und der Grand-Daddy von allen: Vererbung. Jede der Säulen der Objekt-Orientierung wird hier kurz diskutiert werden.

Datenkapselung

C + + bietet die Möglichkeit, Daten und Operationen, die zu manipulieren, dass die Daten kapseln, in einem geeigneten Objekt. Dies ermöglicht den Einsatz dieser Sammlungen von Daten und Funktionen, Objekte genannt, in anderen Programmen als das Programm für die sie ursprünglich erstellt wurden. Mit Objekten, ebenso wie mit der herkömmlichen Vorstellung von Subroutinen, machen Sie funktionale Blöcke von Code. Sie haben noch language-Abstraktionen wie Umfang und die separate Erfassung zur Verfügung unterstützt. Dies ist eine rudimentäre Form der Kapselung. Objekte tragen Verkapselung einen Schritt weiter. Mit Objekten, Sie
definieren nicht nur die Art und Weise eine Funktion tätig ist, oder ihre Durchführung, sondern auch die Art und Weise ein Objekt zugegriffen werden kann, oder seine Schnittstelle.

Data Hiding

Bezogen auf die Idee der Kapselung ist das Konzept der Datenkapselung. Encapsulation versteckt die Daten aus anderen Klassen und Funktionen in anderen Klassen. Dies macht Programme mehr zuverlässig, da die Veröffentlichung einer speziellen Schnittstelle auf ein Objekt verhindert unbeabsichtigte Zugriff auf Daten in einer Weise, die nicht konzipiert wurden oder entfielen. In C + +, ist der Zugriff auf ein Objekt und seiner gekapselten Daten und Funktionen sehr sorgfältig, durch die Verwendung von Schlüsselwörtern private, protected und Öffentlichkeit behandelt. Man hat die Möglichkeit, den Zugang Spezifikationen für Daten-Objekte und-Funktionen als private oder protected oder öffentlicher während der Definition einer Klasse zu machen. Nur wenn die Erklärung abgegeben wird als öffentliche tun anderen Funktionen und Objekte haben Zugriff auf das Objekt und seine Komponenten ohne Frage. Auf der anderen Seite, wenn die Erklärung geschieht, werden als private, gibt es keine Möglichkeit, einen solchen Zugang. Wird die Erklärung gegeben, wie geschützt ist, dann der Zugriff auf Daten und Funktionen in einer Klasse von anderen ist
nicht so frei, wie wenn es öffentlich ist, noch als wie wenn es privat ist eingeschränkt.

Erbschaft

Der primäre Unterschied für C + + von C ist, dass C + +-Klassen hat. Die Objekte werden in Klassen definiert. Klassen selbst können Datenelemente in anderen Klassen, werden in diesem Fall eine Klasse ein Element einer anderen Klasse sein. Natürlich, dann eine Klasse ist ein Mitglied, das mit sich bringt seine eigenen Daten und Funktionen, in der zweiten Klasse. Diese Art der Beziehung wird bezeichnet als a? Hat-ein? Beziehung: Ein Objekt ist ein Objekt B drin.

Eine Beziehung zwischen Klassen können nicht nur durch eine Klasse ein Mitglied einer anderen festgelegt werden, sondern auch durch den Prozess der Ableitung einer Klasse aus einem anderen. Eine Klasse kann von einer anderen Klasse, die ihre Basisklasse wird abgeleitet werden. Dann eine Hierarchie von Klassen niedergelassen ist, und eine Art Eltern? Kind-Beziehung zwischen den Klassen wird gegründet. Die abgeleitete Klasse erbt von der Basisklasse, einige der Daten und Funktionen. Diese Art von Beziehung ist gemäß einem? Is-a? Beziehung. Du hättest Klasse Rectangle von Shape-Klasse abgeleitet werden, da Rectangle ist ein Shape. Natürlich, wenn eine Klasse A wird aus einer Klasse B abgeleitet, und wenn B selbst ist von einer Klasse abgeleitet C, dann A erbt von beiden B und C. A-Klasse von mehr als einer Klasse abgeleitet werden können. Dies ist, wie Mehrfachvererbung auftritt. Vererbung ist ein leistungsfähiger Mechanismus zur Schaffung von Basisfunktionen, die auf die nächsten Generationen zur weiteren Verbesserung oder Veränderung weitergegeben wird.

Abgeleitete Klassen

Wenn eine Klasse einige Mitglieder erklärt hat, in ihm als geschützt, dann würden diese Mitglieder aus anderen Klassen verborgen werden, nicht aber von abgeleiteten Klassen. In anderen Worten, im Zuge einer Klasse aus einem anderen ist eine Möglichkeit, den Zugriff auf den geschützten Mitglieder der übergeordneten Klasse von der abgeleiteten Klasse. Wir sagen dann, dass die abgeleitete Klasse wird von der übergeordneten Klasse erbt die Mitglieder in der übergeordneten Klasse, die als protected oder public deklariert werden.

In Deklaration einer abgeleiteten Klasse von einer anderen Klasse, den Zugang oder die Sicht-Spezifikation kann gemacht werden, was bedeutet, dass eine solche Ableitung kann öffentlich oder die Standard-Fall privat. Tabelle zeigt die Auswirkungen einer solchen Spezifikation bei der Ableitung einer Klasse aus einem anderen.

Sichtbarkeit der Base Class Members in der Klasse Derived

Tabelle 2.1 Sichtbarkeit von Base ClassA Mitglieder in der Klasse Derived

Herleitung Spezifikation Base Class Specification Abgeleitete Klasse zugreifen
private (default)
geschützt vollen Zugriff, private in der abgeleiteten Klasse
vollen Zugriff, Öffentlichkeit in der abgeleiteten Klasse
geschützt vollen Zugriff, in der abgeleiteten Klasse geschützt
vollen Zugriff, Öffentlichkeit in der abgeleiteten Klasse

Tags: , , , , , ,

Gefällt was Sie sehen?

Werden Sie einer der Stammgäste und abonnieren! Sie sehen die ersten wissen, wann wir weitere tolle Beiträge wie diese fügen werden. Join up entweder durch RSS Feeds oder Email Updates noch heute!

Es gibt 2 Kommentare zu diesem Beitrag. Sie können alle Antworten auf diesen Eintrag durch den RSS 2.0 Feed verfolgen . Sie können die Ende überspringen und eine Antwort hinterlassen oder TrackBack von Ihrer eigenen Website.

  • alinia sagt:

    Schreiben Sie ein Programm, dass eine Klasse Punkt erklären wird. Die Klasse Point hat zwei private Datenelemente x und y vom Typ float. Die Klasse Punkt hat einen parametrisierten Konstruktor initialisiert werden sowohl die Daten-Member dh X und Y. Die Klasse Punkt hat einen Member-Funktion display (), dass der Wert von x und y-Display Erstellen Sie zwei Objekte, P1 und P2 mit Ihrem gewünschten Daten und zeigt die Werte von x und y von P1 und P2. Erstellen Sie nun ein drittes Objekt p3 mithilfe des Ausdrucks P3 = P1 + P2 und die Werte der x-und y-Anzeige von P3.

  • pervise.zhao sagt:

    *** Open Source meine OIOIC, eine völlig neue objektorientierte Mechanismus für die C-Programmiersprache. ***

    Mit OIOIC, können Sie beschreiben die Blume, Vögel, Gras, Insekten, Bäume, Häuser ...
    Mit OIOIC, können Sie beschreiben die Elemente, Atome, Protonen, Elektronen ...
    Mit OIOIC, können Sie beschreiben die Erde, die Sonne, die Milchstraße, Kollapsar ...
    Mit OIOIC, können Sie beschreiben ...

    1. OIOIC perfekt versorgt die Lücke der objekt-orientierten Technologie für die Programmiersprache C;
    2. OIOIC perfekt gelöst Mehrfachvererbung Problem in der Software-Welt;
    3. OIOIC perfekt objektiviert Multithreading Zutrittskontrolle des Objekts;
    4. OIOIC vereinheitlicht die Norm von Komponenten in der Software-Welt;
    5. OIOIC vereint die Struktur des Codes Baum in der Software-Welt;
    6. OIOIC vereint das Denken der objektorientierten Programmierung in der Software-Welt;
    7. OIOIC vereint alle fortgeschrittenen Programmiersprachen in der Software-Welt, an die Programmiersprache C als das bevorzugte machen.

    Für weitere Informationen, laden Sie bitte das "OIOIC-Primer-2nd-Edition-English.tar.gz". (Die englische Version von <>) http://code.google.com/p/oioic/downloads/list

    Begrüßen Sie Ihre Tipps!


Lassen Sie eine Antwort

Sie müssen eingeloggt Kommentar posten.