Skip to main content

Prinzipien objektorientierter Programmierung

  • Chapter
Hybride Wissensverarbeitung

Part of the book series: DUV: Datenverarbeitung ((DUVD))

  • 33 Accesses

Zusammenfassung

In diesem Kapitel nehmen wir eine objektorientierte Sicht auf die Realisierung der Meta-Interpretationstechnik ein, und diskutieren die Vorteile, die sich daraus im Vergleich zu der funktionalen Sicht ergeben. Wir beginnen mit einigen Überlegungen zur Funktion von Methaphern beim Entwurf komplexer Softwaresysteme. Anschließend führen wir in die Grundprinzipien objektorien-tierter Programmierung ein, die eine metapherbasierte Darstellung komplexer Zusammenhänge insofern besonders unterstützt, als sie erlaubt, Programmabläufe als Interaktion zwischen miteinander kommunizierenden Agenten zu deuten. Es versteht sich, daß die Ausführungen zu diesem Punkt nur eine partielle Behandlung dieses umfangreichen Themas sein können. Unsere Hauptaufmerksamkeit gilt dabei dem, was wir für den Kern des objektorientierten Gedankens halten, nämlich dem Problem der Erweiterung des Konzeptes “Datenstruktur” von einer reinen deklarativen, statischen Form in Richtung auf eine deklarativ-prozedurale Auffassung.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 44.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 59.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Literatur

  1. Vgl. (Orthony 79, insb. Kapitel über Metaphor and Science, S. 356–437) und (West/Travis 91) für eine Besprechung der Rolle der computational metaphor in der KI.

    Google Scholar 

  2. “Die metaphor a (trans latio; μεταφoρα) ist der Ersatz... eines verbum proprium (>Krieger<) durch ein Wort, dessen eigene proprie-Bedeutung mit der des ersetzten Wortes in einem Abbild-Verhältnis... steht (>Löwe<)” (Lausberg 71, S. 78).

    Google Scholar 

  3. “Information hiding” wurde als allgemeines Entwurfsprinzip für Software-Systeme von Parnas zur Diskussion gestellt: “... we should allow the designers, those who specify the structure [of a system], to control the distribution of design information... We should not expect a programmer to decide not to use a piece of information, rather he should not possess information that he should not use.” (Parnas 71, S. 342). “... it is almost always incorrect to begin the decomposition of a system into modules on the basis of a flowchart. We propose instead that one begins with a list of difficult design decisions which are likely to change. Each module is then designed to hide such a decision from the others.” (Parnas 72, S. 1058). Datenstrukturen stellen in diesem Sinne Module dar.

    Google Scholar 

  4. Das Beispiel haben wir von Scheme (Abelson/Sussman, S. 83 f) nach Common-Lisp adaptiert.

    Google Scholar 

  5. Funktionale Objekte können in Lisp auch in Kurzform mit Hilfe des sogenannten Read-Macros #′ notiert werden. Ein Ausdruck der Form “#′<symbol-or-lambda-expression>” wird als (function <symbol-or-lambda-expression>) eingelesen.

    Google Scholar 

  6. Unser M(icro) C(ommon) F(lavors) System realisiert eine Untermenge des Flavor-systems wie es in (Weinreb/Moon 81, S. 279–313) und (Symbolics 85, S. 417–477) dokumentiert ist. Darüber hinaus bietet es aber eine Reihe experimenteller Eigenschaften (Flavors sind z. B. selbst nachrichtenfähige Objekte), die aktuelle Forschungsergebnisse bzw. Tendenzen beim Entwurf objektorientierter Sprachen aufgreifen. Für die Realisierung der BABYLON-Architektur werden wir allerdings nur Basiskonstrukte benutzen, die wir in diesem Abschnitt auch kurz diskutieren.

    Google Scholar 

  7. Diese Möglichkeit haben wir in unserem MCF System experimentell realisiert.

    Google Scholar 

  8. Man beachte, daß in unserem MCF-System wir neben (defwhopper (<flavor> <selector>)...) die Syntax (defmethod (<flavor> :whopper <selector>)...) erlauben. Diese ist eigentlich vorzuziehen, weil “:whopper” genauso wie “:or” “:after” usw. einen Methodenkombinationstyp bezeichnet.

    Google Scholar 

  9. Die entsprechende, allgemeinste Klasse hat in CLOS den Namen T.

    Google Scholar 

  10. Im Anhang II zeigen wir, wie die Hauptflavorkonstrukte auf der Basis von CLOS definiert werden können.

    Google Scholar 

  11. Auf die weiteren (sehr umfassenden) Optionen für defgeneric können wir hier nicht eingehen (vgl. Steele 90, S. 826 ff)

    Google Scholar 

Download references

Authors

Rights and permissions

Reprints and permissions

Copyright information

© 1993 Springer Fachmedien Wiesbaden

About this chapter

Cite this chapter

di Primio, F. (1993). Prinzipien objektorientierter Programmierung. In: Hybride Wissensverarbeitung. DUV: Datenverarbeitung. Deutscher Universitätsverlag, Wiesbaden. https://doi.org/10.1007/978-3-663-14613-1_13

Download citation

  • DOI: https://doi.org/10.1007/978-3-663-14613-1_13

  • Publisher Name: Deutscher Universitätsverlag, Wiesbaden

  • Print ISBN: 978-3-8244-2039-1

  • Online ISBN: 978-3-663-14613-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics