[How-To]Instanzierung von Forms

11/16/2013 21:54 DeinMud#31
@Hiris
Wenn dir das dein Professor (übrigens nicht -> proffesor <-) gesagt hat, wird das wohl seine Gründe haben
11/16/2013 21:57 Hiris#32
Quote:
Originally Posted by LF_Stormfire View Post
Was deinmud sagt ist schon richtig, ich glaub du solltest dich mal besser informieren...
Ich glaube du bist 15 Jahre alt und deine Informatik Lehrerin ist nicht in der Lage google nach allen Regeln der Kunst zu verwenden, da sie OOP als gottgeweihtes heiliges Programmierparadigma darstellt.


Ansonsten wenn du meiner wenigkeit nicht trustest ->
Der gute Mann ist trotz des Informatiklehrertums doch als erfahren einzuschätzen und erklärt dir in 17 Minuten Sinn und Zweck von Paradigmen und dass OOP eine gute Sache ist aber man wenn man gut prozedural programmieren kann es tun soll (Am Beispiel C, aber auch an anderen).
Es geht hier außerdem nicht darum dass ich OOP nicht abkann, ich hab noch nie etwas anderes als OOP verwendet, aber was hier wieder von sich gegeben wird ist der Abfall des Abfalls.


Quote:
Originally Posted by DeinMud View Post
@Hiris
Wenn dir das dein Professor (übrigens nicht -> proffesor <-) gesagt hat, wird das wohl seine Gründe haben
Damnit. Was ist los mit der Jugend von heute? Muss man echt davon ausgehen, dass alle unter 20 keine Ironie verstehen?
11/16/2013 22:03 DeinMud#33
Das gleiche hab ich hier 100x geschrieben
Hast du dir eigentlich iwas durchgelesen?
Wenn man die Möglichkeit hat OOP zu programmieren (C ist keine objektorientierte Sprache), dann sollte man diese nutzen.
Bei objektorientieren Sprachen ist das meiste darauf ausgelegt, das die Objektorientierung einen nicht behindert, also ist es Sinn des ganzen das auch zu nutzen. VB 6 ist nicht objektorientiert, VB.net hingegen schon.
Übrigens war mein Satz ironisch, also ja da kannst du deine these mit stützen.
11/20/2013 22:18 MrSm!th#34
Quote:
Originally Posted by DeinMud View Post
1. Dieser Thread ist keine Diskussion sondern ein Tutorial, wer meint er weiß es besser soll seinen Weg gehen, wer jedoch bereit ist es gleich richtig zu lernen kann sich das Tutorial einfach ansehen.
Nach meiner Definition ist ein Thread ein Diskussionsfaden und demnach kann hier sehr wohl die sachliche Korrektheit deines Tutorials diskutiert werden, genau dafür gibt es den Antworten-Button.

Ich wüsste nicht, wo die kritisierte Methodik gegen OOP verstößt. Zu einem guten Stil gehört es ebenfalls, unnötige Variablen und Instanzierungen zu vermeiden. Wenn es schon eine Default-Instanz gibt und man nicht mehr als eine benötigt, warum diese nicht nutzen?
Zudem ist C++ keine rein objektorientierte Sprache (übrigens, nein, eine Sprache kann nicht ObjektOrientierteProgrammierung sein) genau so wie jede objektorientierte Sprache auch einen gewissen prozeduralen Unterbau besitzt. Und doch, auch mit C lässt sich OOP realisieren.
OOP ist gut und schön, aber keine Pflicht. Jemandem die Daseinsberechtigung abzusprechen, weil er nicht alle Features einer Sprache nutzt, ist schwachsinnig.
Wartbarer Code zeichnet sich durch seine Qualität aus, nicht durch das verwendete Paradigma.

Ganz nebenbei solltest du mal einen Gang zurück schalten. Erstsemester mit 0 Erfahrung, die der Welt erklären wollen, wie man zu programmieren hat - das sind mir die liebsten.

Quote:
Originally Posted by Hiris View Post
Ich finde es generell schon ziemlich frech Schlüsselbein zu widersprechen, das macht man einfach nicht :/
qft
:3
11/21/2013 13:16 DeinMud#35
C ist nicht oop, kann man auch oop realisieren aber die sprache ist nicht darauf ausgelegt.
Sprachen die auf oop ausgelegt sind, machen einen grösseren aufwand wenn man nicht oop nutzt.
Ahja versuch das mal in anderen sprachen ohne intanziierung.
Was passiert? Richtig es geht nicht.
Das ist halt der selbe scheiss mit der impliziten konvertierung (Option strict off) was genauso nur bei vb.net funktioniert.
Aber einige weitere nachteile wenn man ohne instanziierung zugreift findet ihr im Tutorial.
Übrigens geht es hier nicht um die Diskussion dass etwas am Inhalt falsch seie (darüber könnt ihr diskutieren) sondern dass das Tutorial nicht nötig sei.
11/21/2013 16:41 tolio#36
der c#.net compiler kann auch ohne probleme die implizierte konvertierung auflösen, wie kommste drauf das das nur der vb.net compiler kann
11/21/2013 19:17 DeinMud#37
In c# gibts keine implizite konvertierung von string in integer z.B.
Mit option strict off in vb.net geht das
11/21/2013 19:25 MrSm!th#38
Quote:
Sprachen die auf oop ausgelegt sind, machen einen grösseren aufwand wenn man nicht oop nutzt.
Nein, tun sie nicht.
Angenommen, die Aussage hier im Thread, dass das Nutzen der Default-Instanz bei Forms gegen OOP verstößt, stimmt, dann zeigt doch eben jenes Beispiel, dass die Verletzung des Paradigmas hier dennoch den Code vereinfacht, anstatt ihn zu verkomplizieren.
Woher hast du den Scheiß eigentlich? Sagt dir das dein Professor? Auch schonmal versucht, das Ganze zu hinterfragen und selbst nachzudenken? Mir fehlen hier irgendwie die Argumente für deine Position. Bis auf Pauschalaussagen und Besserwisserei sehe ich hier nichts.
Quote:
Das ist halt der selbe scheiss mit der impliziten konvertierung
Implizite Konvertierung gibt es in vielerlei Sprachen.

Quote:
Aber einige weitere nachteile wenn man ohne instanziierung zugreift findet ihr im Tutorial.
Wenn ich mehr als eine Instanz will, dann lege ich mehr als eine an. Wenn mir eine reicht, dann reicht mir eine und wenn VB.NET die sogar implizit bereitstellt, so what? Was ist daran ein Nachteil?

Quote:
In c# gibts keine implizite konvertierung von string in integer z.B.
Mit option strict off in vb.net geht das
Das beantwortet seine Frage nicht, außerdem kann man derartige Konvertierungen in C# ebenso wie in C++ selbst definieren.
11/21/2013 19:36 DeinMud#39
1. Doch tun Sie, sonst hätte oop keinen Sinn.
Ich hab hier irgendwo ein Link gepostet dort wurde weiterdrauf eingegangen, kannst dich dort einlesen.
2. Implizite konvertierungen unter double zu integer u.ä. gibts aber wie in dem beispiel string zu integer, nein.
3. Nun zum zweiten mal: Bitte lies mein Tutorial dort hab ich die nachteile aufgelistet
4. Was meinst du damit?
11/21/2013 22:46 MrSm!th#40
Quote:
Originally Posted by DeinMud View Post
1. Doch tun Sie, sonst hätte oop keinen Sinn.
Nein, diese Aussage macht keinen Sinn.
Quote:
2. Implizite konvertierungen unter double zu integer u.ä. gibts aber wie in dem beispiel string zu integer, nein.
Doch, in Javascript, PHP und sicher noch einigen anderen.
Und lässt sich in diversen Sprachen implementieren.
Quote:
3. Nun zum zweiten mal: Bitte lies mein Tutorial dort hab ich die nachteile aufgelistet
Habe ich. Die Frage bleibt. Lies du einfach mal die Fragen. Ich denke, jeder, der dich hier kritisiert, hat es gelesen - deshalb kritisieren wir ja.

Quote:
4. Was meinst du damit?
Operatorüberladung.
11/22/2013 08:19 DeinMud#41
Was ist denn dann deiner Meinung der Sinn von oop?
Wenns nicht zur Vereinfachung/Wiederverwendbarkeit und Wartbarkeit dient.

Ausserdem sind Javascript und php ebenfalls skript sprachen
und es geht darum, dass standardmässig sowas in (fast) keiner Sprache möglich ist, ausser in vb.net
Da ists egal ob sich sowas implementieren lässt.

Die Nachteile sind eben, dass man keine Events formübergreifend abonnieren kann und man bloss ein Objekt der Form zur Verfügung hat.
11/22/2013 14:46 th0rex#42
Quote:
Originally Posted by DeinMud View Post
[...]
Die Nachteile sind eben, dass man keine Events formübergreifend abonnieren kann und man bloss ein Objekt der Form zur Verfügung hat.
Wofür braucht man denn 2 Objekte der selben Form ?
Ist doch genauso doof wie wenn ich 2 ints mache und mir denke " Joa, den anderen brauche ich bestimmt irgendwann noch." So kann man auch RAM verschwenden ;)
11/22/2013 16:57 DeinMud#43
Wenn man die Form 2x oder öfter öffnen möchte?
11/22/2013 17:07 'Heaven.#44
Wenn man aber nur eine öffnen möchte? Warum sollte man nicht die default-Instanz nehmen?

Das Beispiel von omitma stellt ziemlich genau das dar, was du die ganze zeit machen möchtest
11/22/2013 17:24 th0rex#45
Quote:
Originally Posted by DeinMud View Post
Wenn man die Form 2x oder öfter öffnen möchte?
Wer möchte bitte 2 mal die selbe Form erstellen (öffnen tut sie eine Funktion. man erstellt ein objekt) ? Ich meine hast du jemals ein Programm gesehen wo 10 mal dasselbe Fenster offen ist ? Glaube kaum. Wenn du die Form dem Nutzer nicht mehr zeigen möchtest nutzt du Form2.Hide(). Wenn der User die Form schließt wird das Objekt nicht zerstört und du kannst sie nochmal anzeigen. Diese Tutorial ist nutzlos, zeigt nur wie es NICHT richtig gemacht wird und das man mit oop nicht übertreiben sollte. Außerdem ist deine Argumentation für dieses Tut mehr als schlecht, wenn überhaupt vorhanden.