Vorteile Objektorientiert??

Von: , Frage gestellt am Do, 27. Jan 2005

Hallo,

wo sind die genauen Vorteile der Objektorientierung gegenüber der prozeduralen Programmierung??

Zum einen (denk ich mal) die Modularisierung, d.h. die Wiederverwendbarkeit des Quellcodes.

Welche der folgenden Sprachen sind OO??

- Delphi
- .NET <-- was ist das eigentlich genau für eine Sprache, habe das grad zum erstenmal gelesen?
- C++
- VB
- Java

und zu guter letzt noch eine Frage zum Thema Softwarearchitekturen:
Was sind Architekturen allgemein, was ist folgende Architektur, wer kann Sie mir erklären und was gibts noch für welche?

- Client-Server Two-/Three-Tier-Architektur



So viele Fragen ;)
Danke für Hilfe.

Axl

6 Antworten zu dieser Frage

  1. Antwort von nach 55 Minuten 0 hilfreich
    Re: Vorteile Objektorientiert??

    Hallo Axl, wo sind die genauen Vorteile der Objektorientierung gegenüber
    der prozeduralen Programmierung??

    Zum einen (denk ich mal) die Modularisierung, d.h. die
    Wiederverwendbarkeit des Quellcodes.

    Das ist Stoff für ganze Lehrbücher, daher fange ich lieber mit der Erklärung der Vorzüge garnicht erst an, ich müsste i.A. ja immer ein Beispiel dazu liefern - aber jeder ist verrückt, der OO nicht benutzt, wenn er mehr programmiert als Küchenherde. Welche der folgenden Sprachen sind OO??

    - Delphi
    - .NET <-- was ist das eigentlich genau für eine Sprache,
    habe das grad zum erstenmal gelesen?
    - C++
    - VB
    - Java

    Alle - ohne OO sind die älteren Sprachen wie Basic, Fortran, C usw. und zu guter letzt noch eine Frage zum Thema
    Softwarearchitekturen:
    Was sind Architekturen allgemein, was ist folgende
    Architektur, wer kann Sie mir erklären und was gibts noch für
    welche?

    - Client-Server Two-/Three-Tier-Architektur

    Auftrennung der Aufgaben: wenn du die Fläche eines Vierecks berechnen willst, kannst du dir ein Programm herunterladen, oder aber du füllst ein Web-Formular o.ä. aus und die Berechnung erfolgt auf dem Webserver. Das hat den Vorteil, dass auf der Clientseite keine besondere Rechenleistung erforderlich ist (heute kein Problem mehr) und fast jedes Betriebssystem verwendet werden kann. Ausserdem ist die Wartung einfacher: wenn sich in der Lohnbuchhaltung etwas ändert, ist meist nur die Server-Software zu ändern. Das ganze steht verständlicherweise in einem natürlichen Feindverhältnis zur Microsoft-Philosophie.

    Tier sind ähnlich zu verstehen: v.a. bei Datenbanken sollen Frontend (die Bedienermasken) und Backend (die tatsächliche Datenspeicherung) möglichst unabhängig voneinander gemacht werden, indem auf einer Zwischenebene ein Standard wie SQL verwendet wird. Ich würde also für eine von mir geschriebene Datenbank-Anwendung anstreben, dass sie unabhängig davon arbeitet, ob ein MS-SQL-Server auf Windows oder Oracle auf Unix oder sonstwas dahintersteht.

    Gruss Reinhard

    • Antwort von nach 5 Stunden 0 hilfreich
      Re^2: Vorteile Objektorientiert??

      Auch hallo.

      Einige Info's möchte ich auch noch geben:
      Das Wissen um prozedurale Sprachen ist auch heute noch nicht so veraltet, dass man es schon vergessen müsste (COBOL). Aber gegenüber den linear ablaufenden Programmiersprachen haben die OO-Sprachen einige Vorteile, die der Vorposter schon genannt hatte. Und Nachteile, denn OO-Sprachen sind ohne richtiges Fundament bei den Prozeduralsprachen schwerer zu erlernen.
      Eine objektorientierte Sprache erkennt man u.a. dem Umstand, dass Klassen gebildet werden können (aber nicht müssen: C++)
      .NET (sprich: dot net)ist übrigens eine Laufzeitumgebung auf M$ Windows Basis. Wird vorrangig von C# (sprich: c sharp) und VB .NET verwendet, Visual Basic mit .NET Routinen. Ist so was wie Java, nur anders ;-)

      HTH
      mfg M.L.

      • Antwort von nach 5 Stunden 0 hilfreich
        Re^3: Vorteile Objektorientiert??

        hallo,
        interessant. wie ist das jetz zb. mit VB? man kann doch VB sowohl prozeduarl als auch oo programmierewn, oder?? wie merk ich den unterschied ;)
        wenn man module erstellt, ist das schon oo??

        axl

        • Antwort von nach 8 Stunden 2 hilfreich
          Re^4: Vorteile Objektorientiert??

          Hi axl,

          Das OO Konzept setzt auf dem prozeduralen Konzept auf. Es ist mehr als das. Alle OO Sprachen, die ich kenne erlauben natürlich auch (mehr oder weniger) rein prozedurale Lösungen oder wenigstens einen Mischmasch. In der Tat ist eine OO Lösung nicht für alle Probleme das Beste. Manches (allerdings nicht allso vieles) läßt sich prozedural einfacher und schlellen und, ja, auch eleganter lösen.

          Den Unterschied merkst du an der Verwendung von OBJEKTEN. Ein Objekt ist ein programmiertechnisches Konstrukt, welches sowohl Daten als auch Code "besitzt". Objekte sind Instanzen von sog. Klassen, die eben ganz speziell definieren was für Daten und was für Code die Objekte ausmacht. Objekte (bzw. Klassen) sind KEINE Module (bze. umgekehr: Module sind KEINE Klassen).

          Um einer Verwirrung um die Begriffe Klasse und Objekt vorzubeugen diese Aussage: Ich bin ein Objekt vom Typ "Mensch", also eine Instanz der Klasse "Mensch". Die Klasse "Mensch" hat ganz bestimmte Eigenschaften (zwei Beine, einen Kopf, Blutdruck, Augen, Stoffwechsel, ...). Die Summe aller dieser Eigenschaften definiert die Klasse "Mensch". Ich als Instanz dieser Klasse habe alle diese Eigenschaften, die für mich ganz zT spezielle Werte haben, zB. ist _mein_ Blutdruck gerade xy und meine Augen sind kurzsichtig usw usw.

          Gruß and die anderen Instanzen meiner Klasse,
          Jochen

    • Antwort von nach 5 Stunden 0 hilfreich
      Re^2: Vorteile Objektorientiert??

      Hallo Axl, Das ist Stoff für ganze Lehrbücher, daher fange ich lieber mit
      der Erklärung der Vorzüge garnicht erst an, ich müsste i.A. ja
      immer ein Beispiel dazu liefern - aber jeder ist verrückt, der
      OO nicht benutzt, wenn er mehr programmiert als Küchenherde.
      Wobei ganz wichtig ist zu bemerken: Die Verwendung einer objektorientierten Programmiersprache heißt nicht automatisch, dass auch objektorientiert programmiert wird.

      Gruß, Manfred

  2. Antwort von nach 5 Stunden 0 hilfreich
    Buchtipp

    Hallo, wo sind die genauen Vorteile der Objektorientierung gegenüber
    der prozeduralen Programmierung??
    Ein klasse Buch dazu ist "Object Oriented Software Construction" von Bertrand Meyer.

    Grüße,
    Moritz

Keine passende Antwort gefunden? Jetzt eigene Frage stellen!