Nutzt mein Programm die O.O.P. oder nicht?
-
Konrad Rudolph schrieb:
vista schrieb:
LukasBanana schrieb:
... und Klassen gibt es ja nach meinem Wissen nur in C++ (also nicht in C), ist also OOP, und auch Vectoren, also Container gibt es nur in C++....
--> http://www3.informatik.uni-erlangen.de/Lehre/UMLEmbSys/WS2002/folien/12-oo2c.pdf

Ach herrje. Na ja, ich habe auch in QBASIC schon OO programmiert. Zum K*tzen.

Mir war irgendwie klar das einige kommen und meinen das ich glauben würde dass C++ die einzige OOP- Sprache überhaupt währe!
War vielleicht ein bischen blöd vormuliert, geb ich ja zu, deshalb hatte ich auch extra C in Klammern geschrieben um zu verdeutlichen dass ich C und C++ verglichen will!Aber jetzt noch mal meine eigentliche Frage: ist mein ProgrammCode, ganz am Anfang, OOP oder nicht, und wenn nicht wie müsste es aussehen???
Gruß LukasBanana
-
Also ich bleibe bei meiner Aussage: "Ist OOP und ich weiß nicht, warum das wichtig sein sollte."

Gruß,
Simon2.
-
Danke für deine Antwort
, aber ich denke es ist gut zu wissen was man eigentlich programmiert! 
Also ob mein Programm ein OOP ist oder nicht!
-
Ja, es ist objektorientiert.
-
iiiiiiii schrieb:
Von daher ist es (imho) nicht hilfreich den OOP-Begriff an Sprachelementen (z.B. virtuellen Funktionen) festzumachen.
Das ist Quatsch, denn auch in C realisiert man das über Funktionszeiger.
-
LukasBanana schrieb:
...ich denke es ist gut zu wissen was man eigentlich programmiert! ...
Ich denke das eben nicht.

Das hat zwar einen gewissen "S-Vergleichsfaktor", aber auch nicht mehr bei Leuten, die sich ein wenig auskennen...
Und wenn das Programm schlecht programmiert oder falsch designt ist, rettet einen das "Ist aber OOP !" nicht mehr raus.
(womit ich nicht sagen möchte, dass DEIN Programm schlecht geschrieben sei - das kann ich ann so einem Schnipsel und ohne Aufgabenbeschreibung nicht beurteilen)Gruß,
Simon2.
-
Natürlich ist das kein Argument zu sagen "Ist zwar schlecht, aber immer hin OOP!", aber das habe ich ja auch nicht gesagt!
Ich habe nur gesagt dass mann schon wissen sollte was man da schreibt!
Aber da mir meine Frage beantwortet wurde danke ich vielmals

Gruß LukasBanana
-
Na - sorry,
ich wollte Dir das auch gar nicht unterstellen, sondern lediglich ein wenig humorvoll meine These demonstrieren.
Entschuldige, wenn ich Dir auf den Fuß getreten sein sollte,

Simon2.
-
Dein Code ist bis jetzt noch nicht besonders OOP. Das einzige, was man darin erkennen kann, ist Kapselung. Außerdem spielen aber zumindest noch Vererbung und Polymorphie eine große Rolle.
Tipp am Rande:
In C++ wird gerne generische Programmierung (wie zum Beispiel in der STL) verwendet.
-
Na - sorry,
ich wollte Dir das auch gar nicht unterstellen, sondern lediglich ein wenig humorvoll meine These demonstrieren.
Entschuldige, wenn ich Dir auf den Fuß getreten sein sollte,

Naaa, werdet mal nicht sentimental! Wir haben in diesem Forum schon ganz andere Threads erlebt.

-
Konrad Rudolph schrieb:
iiiiiiii schrieb:
Von daher ist es (imho) nicht hilfreich den OOP-Begriff an Sprachelementen (z.B. virtuellen Funktionen) festzumachen.
Das ist Quatsch, denn auch in C realisiert man das über Funktionszeiger.
Ah, eine Sprache hat also auch dann ein Sprachelement wenn es zwar eigendlich nciht vorhanden ist (C hat keine virtuellen Funktionen) man es aber durch andere Mittel simulieren kann? Das trifft dann ja auf so ziemlich jede Programmeirsprache zu.
Ausserdem wage ich hier zu behaupten, daß ich auch ganz ohne virtuelle Funktionen trotzdem OOP programmieren könnte. OOP ist eine Sichtweise mit Problem umzugehen, die gewählte Sprache nur das Werkzeug diese Sichtweise umzusetzen. Ob die Sprache nun OOP unterstützt oder nicht ist dabei erstmal nebensächlich, aber es hilft natürlich enorm wenn sie es tut

-
Artchi schrieb:
...
Naaa, werdet mal nicht sentimental! Wir haben in diesem Forum schon ganz andere Threads erlebt.

Naja, man muss seine Fehler ja nicht wiederholen.

Gruß,
Simon2.
-
Es war ja auch von meiner Seite nicht böse gemeint!
Deshalb habe ich mich ja auch bedank!

Gruß LukasBanana!
-
Konrad Rudolph schrieb:
Ich finde daher, man sollte OOP eher darüber definieren, was sie technisch ausmacht ...
Du willst ein Konzept darüber wie definieren wie es technisch realisiert ist?
-
finix schrieb:
Konrad Rudolph schrieb:
Ich finde daher, man sollte OOP eher darüber definieren, was sie technisch ausmacht ...
Du willst ein Konzept darüber wie definieren wie es technisch realisiert ist?
Why not?
Ich wollte mich aber eigentlich nicht zu sehr an der technischen Realisierung festgeklammert, in diese Position werde ich gerade hineingedrängt. Ich wollte nur darauf hinweisen, dass längst nicht alles OO ist, nur weil es Klassen benutzt. Andererseits reicht es eben auch nicht, Polymorphie zu benutzen, um OO zu programmieren (wie vielfach behauptet wird), denn das würde ja bedeuten, dass das Benutzen von Überladung (ist auch Polymorphie) ebenfalls Objektorientierung wäre.
Dass man OO auch ohne virtuelle Funktionen programmieren kann, ist mir schon bewusst. Wie gesagt: In QB habe ich das auch schon gemacht und dort gibt es keine Funktionszeiger (und nein, mit PEEK und ABSOLUTE habe ich es nicht gemacht).
-
Konrad Rudolph schrieb:
...In QB habe ich das auch schon gemacht...
Mal ganz neben bei: QB, "QuickBasic" wenn ich nicht irre (von Windows), ist das nicht eine schon eher ausgestorbene Programmiersprache?
@Konrad Rudolph: "Verwändest du diese Programmiersprache immer noch?"Nur das wir hier von der ein und der selben Sprache sprechen: QBasic ist eine Programmiersprache von Windows die im DOS-Modus verwändet wird?
Wenn ja, nur eine Frage: "Warum verwendest du diese?"
-
Entschuldige fürs OT aber LukasBanana, man schreibt verwendet mit e und nicht mit ä. Du schreibst das so oft, dass ich mittlerweile daran erkenne, von wem der Beitrag ist, falls ich den Namen nicht gelesen habe.
Sry fürs OT.
-
LukasBanana schrieb:
Konrad Rudolph schrieb:
...In QB habe ich das auch schon gemacht...
Mal ganz neben bei: QB, "QuickBasic" wenn ich nicht irre (von Windows), ist das nicht eine schon eher ausgestorbene Programmiersprache?
@Konrad Rudolph: "Verwändest du diese Programmiersprache immer noch?"Also, um das klarzustellen: QBASIC (bzw. QuickBasic, habe ich beides schon verwendet, sind aber zwei Sachen) habe ich das letzte Mal vor fast einem Jahrzehnt programmiert, und auch damals nur unter DOS, nie unter Windows. Das geht zwar auch, aber warum sollte man das tun?

-
Konrad Rudolph schrieb:
denn das würde ja bedeuten, dass das Benutzen von Überladung (ist auch Polymorphie) ebenfalls Objektorientierung wäre.
Redefinition ist kein Polymorphismus und Überladung ist kein Polymorphismus, aber es stimmt schon, dass es nicht unbedingt objektorientierte Programmierung sein muss, wenn man eines der objektorientierten Paradigmen benutzt, zum Beispiel ist Datenkapselung natürlich auch in anderen Konzepten der Programmierung als Paradigma vertreten.
-
Konrad Rudolph schrieb:
LukasBanana schrieb:
Konrad Rudolph schrieb:
...In QB habe ich das auch schon gemacht...
Mal ganz neben bei: QB, "QuickBasic" wenn ich nicht irre (von Windows), ist das nicht eine schon eher ausgestorbene Programmiersprache?
@Konrad Rudolph: "Verwändest du diese Programmiersprache immer noch?"Also, um das klarzustellen: QBASIC (bzw. QuickBasic, habe ich beides schon verwendet, sind aber zwei Sachen) habe ich das letzte Mal vor fast einem Jahrzehnt programmiert, und auch damals nur unter DOS, nie unter Windows. Das geht zwar auch, aber warum sollte man das tun?

Ja das stimmt, ich habe es halt nun mal unter Windows laufen weil ich darauf mein aller erstes Programm geschrieben habe! Also zum anfangen eben, und in den vorhergehenden Beiträgen klang es so als würdest du immer noch darauf programmieren!

Außerdem dachte ich QBasic == QuickBasic?!