AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Kurze Frage zu OOP

Ein Thema von Christian18 · begonnen am 14. Apr 2006 · letzter Beitrag vom 14. Apr 2006
Antwort Antwort
Christian18

Registriert seit: 9. Dez 2003
Ort: Hamburg
1.279 Beiträge
 
#1

Kurze Frage zu OOP

  Alt 14. Apr 2006, 11:01
Hallo,

ich habe mal eine kurze frage zu OOP!!! OOP ist doch eigentlich nur dazu da, Quellcode redundanz zu vermeiden?!?!?! Oder??? Außerdem ist OOP noch sehr nützlich wenn man zum Beispiel bei Eingaben den Focus setzt, also damit der Nutzer sieht in welchem Edit Feld der Curser sich befindet. Also wenn man den Focus z.B. Blau machen will dann kann man doch dank OOP sein Programm so ausbauen, das man dies nur einmal in einer Superklasse Definiert und dann wenn man es zu gegebener Zeit ändern will, braucht man nur eine andere Frage einsetzen und dann wird es im ganzen Programm Automatisch verteilt. Sind meine ansichten gegebnüber OOP so richtig???

MFG Christian18
  Mit Zitat antworten Zitat
xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#2

Re: Kurze Frage zu OOP

  Alt 14. Apr 2006, 11:12
Hallo,

was Du schreibst, sind Teilaspekte von OOP. Dazu gehört aber noch mehr. Ich zähle mal einiges auf (ohne Anspruch auf Vollständigkeit):
  • Wartbarkeit und Strukturierung des Codes: jedes Objekt hat eine bestimmte Aufgabe und erfüllt diese im Idealfall komplett. Bei einer Änderung muss nur das entsprechende Objekt angepasst werden
  • Vererbung: Objekte lassen sich einfach um zusätzliche Funktionen erweitern
  • Kapselung: Für die Benutzung von Objekten ist es unwichtig, wie diese intern arbeiten; nur die nach außen geführten Schnittstellen sind interessant. Deshalb ist es möglich, verschiedene Objekte von einem Basisobject abzuleiten (-> Vererbung), die dann unterschiedliche Aufgaben erfüllen, aber die gleichen Schnittstellen haben und deshalb austauschbar sind
  • Komponenten: sind ohne OOP zwar möglich, aber Spaß macht das nicht
Wie gesagt, das sind nur einige Aspekte, mehr steht z. B. in der Wikipedia.

Gruß
xaromz
  Mit Zitat antworten Zitat
TheAn00bis

Registriert seit: 7. Jun 2004
386 Beiträge
 
#3

Re: Kurze Frage zu OOP

  Alt 14. Apr 2006, 11:21
Zitat von Christian18:
OOP ist doch eigentlich nur dazu da, Quellcode redundanz zu vermeiden?!?!?! Oder??? Außerdem ist OOP noch sehr nützlich wenn man zum Beispiel bei Eingaben den Focus setzt, also damit der Nutzer sieht in welchem Edit Feld der Curser sich befindet.
Also ich kann mir Programmieren ohne OOP fast gar nicht mehr vorstellen und würde an komplexeren Programmen sicherlich kläglich scheitern.
Wenn ich ein Spiel programmiere, dann ist alles im Spiel ein eigenes Objekt. Der Spieler selber, jeder Gegner, jeder Baum etc. das bietet unendlich viele Vorteile: Die Objekte können sich praktisch selbst verwalten, prüfen selber, ob sie mit einem Gegner oder Gegenstand kollidieren, kommunizieren untereinander und nehmen durch ihre Attribute verschiedene Zustände ein, die dann ihr eigenes Verhalten, aber auch das Verhalten der anderen Objekte beeinflußen können.
Ich denke beim Ableiten von Klassen hast du zu mindest zum Teil recht, wenn du sagst, dass dadurch Redundanz vermieden wird, aber das "eigentlich nur" würde ich durch "zum kleinen Teil" ersetzen.
OOP-Programme sind viel flexibler und man kann die Wirklichkeit viel besser und einfach abbilden.
  Mit Zitat antworten Zitat
sancho1980

Registriert seit: 7. Feb 2006
429 Beiträge
 
#4

Re: Kurze Frage zu OOP

  Alt 14. Apr 2006, 11:23
Hi,
meinem Vorgänger kann ich nur zustimmen und außerdem will ich hinzufügen, dass OOP nicht zwangsläufig mit der Programmierung von graphischen Benutzeroberflächen zu tun hat. OOP sagt einfach nur, dass du deinen Code schreibst, indem du vorher die "Welt" die du in deiner Software zu modellieren versuchst, in Objekte fasst, von denen du definierst, was diese Objekte haben (Eigenschaften) und was sie können (Methoden). Normalerweise nimmt diese Modellierung mehr Zeit in Anspruch als das Schreiben des eigentlichen Programms an sich aber behutsam geschrieben lassen sich so sehr komplexe Sachen schreiben, denn du hast einfach mal die Möglichkeit, dein Problem als Ganzes sehr gut in viele kleine Teilprobleme zu zerlegen. Die Welt besteht nun einmal auch aus Objekten und es gibt nicht etwa eine unsichtbare Hand, die alles bewegt, sondern das Handeln entspringt den Entscheidungen und Fähigkeiten von Personen und Objekten und genau da setzt OOP an.
Gruß,
Martin
Um Rekursion zu verstehen, muss man zunächst Rekursion verstehen.
  Mit Zitat antworten Zitat
TheAn00bis

Registriert seit: 7. Jun 2004
386 Beiträge
 
#5

Re: Kurze Frage zu OOP

  Alt 14. Apr 2006, 11:30
Was mir noch einfällt:

Ich hab die OOP sogar so gelernt, dass man das "Model", das "View" und das "Control" strikt trennt.
Das "Model" enthält dann die Objekte, also sagen wir du programmierst einen Bahnhof, dann enthält es "Bahnohf", "Züge", "Passagiere" etc.. Das "View" ist dann die reine Darstellung für den Benutzer, also häufig alles was mit VCL-Komponenten dargestellt wird oder mit irgendeiner Grafikschnitstelle.
Das "Conrtol" bildet die Brücke zwischen "Model" und "View".

Ich weiß nicht, ob das so gängig ist, aber ich halte diesen Weg für sehr übersichtlich.
  Mit Zitat antworten Zitat
sancho1980

Registriert seit: 7. Feb 2006
429 Beiträge
 
#6

Re: Kurze Frage zu OOP

  Alt 14. Apr 2006, 11:34
Aber das setzt wie gesagt voraus dass du 'ne grafische Benutzeroberfläche hast. Das mag zutreffen ist aber wie gesagt bei OOP kein Muss.
Um Rekursion zu verstehen, muss man zunächst Rekursion verstehen.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz