AGB  ·  Datenschutz  ·  Impressum  







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

Abstract oder überhaupt nicht?

Ein Thema von Neutral General · begonnen am 9. Aug 2006 · letzter Beitrag vom 10. Aug 2006
Antwort Antwort
Seite 3 von 4     123 4      
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#21

Re: Abstract oder überhaupt nicht?

  Alt 9. Aug 2006, 19:10
Besser als Muetze1 hätt ichs bestimmt nicht erklären können
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#22

Re: Abstract oder überhaupt nicht?

  Alt 9. Aug 2006, 19:14
Zitat von Der_Unwissende:
Zitat von Neutral General:
erm..*hust*

Es tut mir leid wenn es jetzt so rübergekommen ist das ich kein OOP könnte.. *hust*
Erstmal dazu, warum die Rechtfertigungen? Es ist doch nicht schlimm, wenn du die OOP noch nicht vollständig (und in allen Details) kennst. Abstraktion ist hier eines der wichtigsten Grundprinzipien und es dauert nun mal ein Weilchen, bis man hier die Vorteile verstanden hat. Ich seh immer wieder Beiträge, von Leuten die wirklich keine Ahnung von OOP haben und es ist vollkommen ok!
Wüßten alle alles, so wäre die DP leer, auch nicht das Wahre!
Ja so sollte das nicht rüberkommen. Also mir ist auch klar das ich kein OOP-Gott bin und auch noch einiges lernen kann/muss. Aber das hat sich halt so angehört als ob ich noch nie was von OOP gehört hätte

Naja aber egal.. Also das ist schon ziemlich interessant was hier geschrieben wurde
Ich denke ich probier das mit den abstracten Klassen mal aus... Dann lern ichs am besten und ich denke ich werde dabei auch verstehn wofür man sie braucht (bzw ich weiß es ja jetzt schon aber ich würde es halt richtig erfahren).
Hat jemand vielleicht ne kreative Idee für ein kleines Projekt indem man abstracte Klassen und Methoden braucht?

Gruß
Neutral General
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
xaromz

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

Re: Abstract oder überhaupt nicht?

  Alt 9. Aug 2006, 21:29
Hallo,
Zitat von Neutral General:
Hat jemand vielleicht ne kreative Idee für ein kleines Projekt indem man abstracte Klassen und Methoden braucht?
da hätte ich eine Idee:
Bau Dir ein Programm, mit dem Du geometrische Objekte zeichnen kannst (Kreise, Rechtecke, Linien, Polygone, WasAuchImmer). Jede geometrische Form ist eine eigene Klasse, wobei jede Klasse bestimmte Methoden implementieren muss, wie z. B. Paint, Save, Load, Change usw.
Da kannst Du Dir eine abstrakte Basisklasse schreiben und darauf aufbauend beliebig viele geometrischen Objekte erschaffen.
Bei einem neuen Element musst Du nur eine Instanz der jeweiligen Klasse erzeugen, und kannst dann in einer Schleife alle Objekte mit dem gleichen Aufruf zeichnen.

Übrigens, um hier auch Hansa klarzumachen, dass man abstract durchaus benutzen kann, genau so wie hier beschrieben ist die Klassenhierarchie meiner SVG-Implementation aufgebaut.

Gruß
xaromz
I am a leaf on the wind - watch how I soar
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#24

Re: Abstract oder überhaupt nicht?

  Alt 10. Aug 2006, 00:17
Hier steht die Frage :

Zitat von Neutral General:
Was ist der Vorteil von abstracten Methoden?...
Antwort habe ich noch keine gesehen. 8)
Gruß
Hansa
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#25

Re: Abstract oder überhaupt nicht?

  Alt 10. Aug 2006, 00:24
Zitat:
Antwort habe ich noch keine gesehen. Cool
Dann würde ich die ganzen Antworten nocheinmal durchlesen.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von JasonDX
JasonDX
(CodeLib-Manager)

Registriert seit: 5. Aug 2004
Ort: München
1.062 Beiträge
 
#26

Re: Abstract oder überhaupt nicht?

  Alt 10. Aug 2006, 00:25
Zitat von Hansa:
Hier steht die Frage :

Zitat von Neutral General:
Was ist der Vorteil von abstracten Methoden?...
Antwort habe ich noch keine gesehen. 8)
Dann solltest du eine Brille aufsetzen, Monitor anschalten, lesen lernen, was auch immer dich davon abgehalten hat, den Inhalt mancher Posts in diesem Thread zu verstehen.
Eine dementsprechende Diskussion gabs bereits mal: *klick*

greetz
Mike
Mike
Passion is no replacement for reason
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#27

Re: Abstract oder überhaupt nicht?

  Alt 10. Aug 2006, 00:35
Zitat von JasonDX:
...Monitor anschalten, lesen lernen, was auch immer dich davon abgehalten hat, den Inhalt mancher Posts in diesem Thread zu verstehen.
Echt schön. Aber wo ist jetzt die Antwort ? Es fehlt die Begründung, undefinierte Sachen zu benutzen.
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von JasonDX
JasonDX
(CodeLib-Manager)

Registriert seit: 5. Aug 2004
Ort: München
1.062 Beiträge
 
#28

Re: Abstract oder überhaupt nicht?

  Alt 10. Aug 2006, 00:53
Zitat von Hansa:
Echt schön. Aber wo ist jetzt die Antwort ? Es fehlt die Begründung, undefinierte Sachen zu benutzen.
Ok, mal ein einfaches Beispiel, extra fuer dich:
Gegeben sei die Basisklasse TStream, welche diverse Methoden deklariert, wie bspw. Read, Write, Close ect.
Es gibt dann diverse Klassen, die von TStream abgeleitet sind, und die Methoden implementieren.
So, TStream kann jetzt diese Methoden
  1. als abstrakte Methode deklarieren
  2. mit virtual kennzeichnen und eine leere Methode ranpflanzen
Und nun folgendes Szenario:
Ich will Daten aus einem beliebigen Stream laden, und verwende dazu logisch meine Basisklasse.
Delphi-Quellcode:
procedure LoadData(Data: Stream);
begin
  //blubbdibla
end;
Nun beobachten wir folgenden Fall:
Delphi-Quellcode:
var
  MyData: TStream;
begin
  MyData := TStream.Create;
  LoadData(MyData);
end;
Kompiliert einwandfrei.
Wenn wir die erste Moeglichkeit nehmen, also abstrakte Methoden in TStream deklariert haben, dann kriegen wir eine Exception um die Ohren geschmissen: Achtung, du baust da richtig Mist. Stimmt auch.
Wenn wir die zweite Moeglichkeit nehmen, also die virtuellen Methoden verwenden, dann kriegen wir keine Exceptions. Ok, das Programm laeuft vielleicht ohne Exceptions zu ende, aber funktionieren tuts trotzdem nicht - Es werden keine Daten geladen. Und da ich keine Fehlermeldung kriege, dann kann ich mich mal ein paar Stunden dransetzen, um den Fehler zu suchen um dann zu merken, dass abstract doch ned so bloed gewesen waere.
Damit sollte der Vorteil wohl offensichtlich sein, und wenn du jetzt nochmal den Thread durchliest, dann wirst du sehen, dass es darin genuegend dementsprechende Beispiele gegeben hat, die dir genau das selbe sagen.

greetz
Mike
Mike
Passion is no replacement for reason
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#29

Re: Abstract oder überhaupt nicht?

  Alt 10. Aug 2006, 07:10
Zitat von Hansa:
Echt schön. Aber wo ist jetzt die Antwort ? Es fehlt die Begründung, undefinierte Sachen zu benutzen.
1. Du kannst die Antwort aus meinem Beispiel nicht rauslesen oder bist du einfach nur lern-resistent? Du siehst kein Sinn und keine Vorteile bei der 4. Lösung zu dem oben genannten Beispielproblem? Für dich sieht das alles gleich aus mit 0 Vorteilen?

Gegenfrage: wozu schreibe ich denn hier? Bisher war jede Diskussion um abstrakte Methoden/Klassen mit dir immer auf diesem Prinzip abgelaufen. Man erklärt dir die Vorteile und Beispiel wo man dieses sprachliche Mittel einsetzen kann mit Vorteilen und du schreibst immer nur einfach, dass du keine Vorteile siehst und das es Bockmist ist. Wieviele Diskussionen willst du hier noch anzetteln um immer wieder als resistent gegenüber Neuem und guten Beispielen/Begründungen auf zu treten?

2. In wie fern "undefinierte Sachen"? Was ist undefiniert?

------- in common ----------

Ich bin gerne bereit es zu erläutern und auch mit Fallbeispielen näher zu bringen wo die Vorteile liegen, aber es macht einfach kein Sinn, so lange du nicht den Argumentationen versuchst zu folgen. In den ganzen Threads zuvor habe ich auch schon geschrieben, dass abstrakte Methode/Klassen nicht immer und überall Sinn machen. Es behauptet keiner du sollst nur noch abstrakte Klassen schreiben. Genauso wenig ist gesagt, das jedes Projekt, egal wie gross, mindestens eine abstrakte Klasse braucht. Ich habe auch nur ab und zu in meinen Projekten mal eine abstakte Implementation - dann aber weil sie dort an der Stelle Sinn macht und Vorteile bringt.

Es macht aber wirklich keinen Spass zu solchen Diskussionen mit dem Thema noch konstruktive Beiträge zu schreiben, so lange du daran beteiligt bist. Es ist wirklich deprimierend sich mit einer Wand zu unterhalten - da lass ich dass denn lieber. Aber anscheinend willst du es auch so, weil bisher auch jede Diskussion darauf hinaus lief, dass alle anderen aufgegeben hatten und dich bei deiner Meinung belassen hatten - mit gutem Grund wie mir scheint.
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.919 Beiträge
 
Delphi 10.4 Sydney
 
#30

Re: Abstract oder überhaupt nicht?

  Alt 10. Aug 2006, 08:09
Hansa, Dein Problem ist, dass Du versuchst, viele Dinge zu generalisieren - dies zieht sich durch praktisch alle größeren Diskussionen mit Dir durch und wird auch zu einem echten Problem.


Welches Beispiel zur Verwendung von abstrakten Klassen hast Du jetzt nicht verstanden?

Das: http://www.delphipraxis.net/internal...=592410#592410
oder das http://www.delphipraxis.net/internal...=592328#592328
oder das http://www.delphipraxis.net/internal...=592215#592215


Im Übrigen ist Deine Einleitung einfach nur frech und unverschämt ("... und ein Geist wirds wohl nie lernen."). Ich weiß nicht, welche Laus Dir gestern Abend über die Leber gelaufen ist, das Verhalten solltest Du dringend ändern.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Alt 10. Aug 2006, 11:26     Erstellt von Elvis
Dieser Beitrag wurde von Daniel gelöscht. - Grund: Das hilft jetzt auch nichts :-/
Alt 10. Aug 2006, 11:28     Erstellt von mkinzler
Dieser Beitrag wurde von Daniel gelöscht. - Grund: Das hilft jetzt auch nichts :-/
Antwort Antwort
Seite 3 von 4     123 4      


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 08:19 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