Diskussion:Klasse (Objektorientierung)/Archiv

aus Wikipedia, der freien Enzyklopädie
Letzter Kommentar: vor 9 Jahren von Sebastian.Dietrich in Abschnitt Lemma
Zur Navigation springen Zur Suche springen

Kommentar Epischel

Klassen sind Implementierungen von Objekten. Damit spiegeln sie die Eigenschaften von Objekten (Kapselung, Vererbung ...) wider. Das sollte im Artikel zum Ausdruck kommen. Die Eigenschaften eher bei Objekt erläutern. Bei Gelegenheit mehr...
(Der vorstehende Beitrag stammt von Lukian – 08:59, 18. Feb. 2003 (MEZ) – und wurde nachträglich signiert.)

Schon der erste Satz ist absoluter Murks.
Ab ins Archiv mit so einem Beitrag:
Archivierung dieses Abschnittes wurde gewünscht von: arilou (Diskussion) 09:15, 17. Jan. 2014 (CET)

Satz rausgenommen

In einigen objektorientierten Sprachen werden Klassen als spezielle Objekte, so genannte Klassenobjekte, betrachtet.
Satz rausgenommen. Ohne Beispiel und nähere Ausführung irgendwie sinnlos ... (ich vermute mit "einigen obj..." ist smalltalk gemeint?) Außerdem kommt das "Klassenobjekt" einen Absatz später noch mal vor ...
"In manchen Programmiersprachen gibt es zu jeder Klasse ein Objekt ..."
Da vermiss ich aber auch irgendwie ein Beispiel ... :(
Ein Beispiel hab ich ebenfalls rausgenommen, war ziemlich ähnlich dem vorhergehnden (mal abgesehen davon, dass diese Beispiele etwas seltsam sind) --brunft 21:41, 10. Mär 2004 (CET)

Wenn eine Klasse "Tabelle" angelegt wird, dann ist ein Objekt eine spezielles Exemplat dieser Klassea, slo nit eine Zeile, eine Teil einer Tabelle, sondern eine ganze Tabelle.
Das Beispiel ist sehr missverständlich, ich denke sogar falsch!
Legt man die Klasse Tabelle einer DB an, so kann man zwei spezielle Tabellen als Objekte erzeugen (komplette Tabellen!) z.B. die Tabelle "Leser" und die Tabelle "Schreiber" in einer DB "Wiki-Nutzer".
(Der vorstehende Beitrag stammt von 62.224.246.212 – 12:19, 15. Feb. 2005 (MEZ) – und wurde nachträglich signiert.)

Die Erklärung ist gut, leider werde ich als Anfänger nicht so ganz aus dem Beispiel schlau. Wäre nett wenn man die etwas detailreicher gestalten würde.
(Der vorstehende Beitrag stammt von ULtrA – 07:42, 24. Mai 2005 (MESZ) – und wurde nachträglich signiert.)

Archivierung dieses Abschnittes wurde gewünscht von: arilou (Diskussion) 09:26, 17. Jan. 2014 (CET)

Irreführendes Beispiel

Aus dem Artikel hierher verschoben:

Angenommen es wird eine Klasse für eine Tabelle einer einfachen Datenbank entworfen. Ein Objekt ist dann ein einzelner Datensatz (= „Zeile“) in dieser Tabelle.

Das Beispiel ist so zumindest irreführend. Ich weiss, was gemeint ist, aber so kann das nicht stehen bleiben. Streng genommen wird die Tabelle als ganzes durch eine Klasse modeliert werden (mit Operationen wie Add/Create, Read, Update Delete) und dann der einzelne Datensatz (Zeile) durch eine andere Klasse.
Beispiel:

Tabelle Kunden mit Spalten Name, ...
==> 2 Klassen
Klasse Kunden (Methoden: Add, ....)
Klasse Kunde (Attribute: Name, ...)

Wenn jemand das schön fomulieret, kann man das sicher wieder in den Artikel einbauen.
--S.K. 18:05, 28. Jul 2005 (CEST)

Archivierung dieses Abschnittes wurde gewünscht von: arilou (Diskussion) 09:26, 17. Jan. 2014 (CET)

Bitte verständlicher

Also tut mir leid, aber für laien bringt das hier absolut nichts. Dick Tracy 19:49, 21. Dez 2005 (CET)

Ich kapiere auch nichts. Und ich bin kein Laie. Ich programmiere seit Jahren in BASIC und JavaScript, ich habe ständig mit Objekten zu tun (z.B. ein Button in BASIC oder eine Taballenzelle in JavaScript), aber was ein Klasse ist und wozu sie gut sein soll, weiß ich bis heute nicht. Daran hat leider auch dieser Artikel nichts geändert. --Plenz 22:01, 8. Dez. 2007 (CET)
Ich habe das Beispiel vereinfacht und für das bessere Verständnis ausführlicher beschrieben. Es gilt folgende Beziehung: Das Objekt entspricht den Gegenständen der realen Welt. Eine Klasse ist eine Abbildungsvorschrift des Objektes in die Software. Dabei muss deren Kontext gesehen werden, da Objekte nicht vollständig in Software abgebildet werden können. Instanzen sind dann verwendete Objekte in der Software, die über Namen referenziert werden. Aus dem Beispiel sind Versuchslampe1 und Versuchslampe2 zwei Instanzen mit den genannten Namen als Referenzen. -- vicbrother 24.02.2007
(Der vorstehende Beitrag stammt von Vicbrother – 10:33, 24. Feb. 2009 (MEZ) – und wurde nachträglich vollständig signiert.)
*anschließend* auch Leute mit ein wenig Sachverstand und Grundkenntnissen kommen schon bei diesen formalen Begriffsklärungen nicht mehr mit .... --WissensDürster 13:16, 26. Jun. 2009 (CEST)
Und welche Lösung schlägst du vor? Ich finde man sollte die Objektorientierung mit der realen Welt vergleichen, dann wird das Laien klarer. Leider ist mein Absatz geändert worden, nun ist er extrem technisch und m.e. für Lain komplett unverständlich.

Ich kann mir nicht vorstellen, dass ein Laie durch einem knappen Artikel zum Thema OOP erschöpfend informiert werden kann. Das sollte auch nicht das Ziel dieses Artikels sein. Ich würde hier eine glasklare Definition zum Thema Klassen erwarten. Die wird sich dem Laien sicher nicht sofort jedoch durch weiteres Recherchieren und Studieren (Literatur Links!) letzlich auch erschliessen. (nicht signierter Beitrag von Wobex (Diskussion | Beiträge) 14:35, 8. Feb. 2012 (CET))

(nicht signierter Beitrag von Vicbrother (Diskussion | Beiträge) 11:23, 16. Aug. 2009 (CEST))
Archivierung dieses Abschnittes wurde gewünscht von: arilou (Diskussion) 09:26, 17. Jan. 2014 (CET)

Widerspruch

Im Artikle Objekt (Programmierung) steht: Fälschlicherweise wird manchmal ein Objekt auch als Instanz bezeichnet.
Hier wird der Begriff Instanz allerdins sehrwohl verwendet. Was nun?
(Der vorstehende Beitrag stammt von 213.47.53.191 – 07:06, 15. Jun. 2006 (MESZ) – und wurde nachträglich signiert.)

Wird ein Objekt einer Klasse erzeugt, nennt man das auch Instanziieren. Demnach ist der Begriff der Instanz durchaus richtig.--Lstegelitz 14:59, 13. Feb. 2007 (CET)

Der Begriff Instanz ist richtig, die Aussage "Wird ein Objekt einer Klasse instanziiert,..." ist irreführend. Es sollte heißen "Wird eine Klasse instanziiert, so wird eine Instanz dieser Klasse im Speicher erzeugt." Analog zu: "Wird eine Bauplan umgesetzt, so wird ein Haus im Neubaugebiet erzeugt." Das Wort "Objekt" führt nur zu Verwirrung. (nicht signierter Beitrag von Wobex (Diskussion | Beiträge) 14:35, 8. Feb. 2012 (CET))

Archivierung dieses Abschnittes wurde gewünscht von: arilou (Diskussion) 09:26, 17. Jan. 2014 (CET)

C++-Beispiel

Das C++ Beispiel mit dem Fahrzeug und dem Auto ist nicht objekt-orientiert. Warum wird der Umweg über eine weitere Funktion genommen, wo es doch gar nicht nötig ist ? Beide Instanzen der Klassen "Fahrzeug" bzw. "Auto" kennen die Methode "bewegen()", wozu dieser Methode Durchfuehren_einer_Aktion_mit() ? --Lstegelitz 14:56, 13. Feb. 2007 (CET)

Das Programmierbeispiel in C++ halte ich für denkbar ungeeignet. C++ ist keine Sprache die ein Laie so lesen kann, er wird durch viele Keywords und die Syntax verwirrt. Ich plädiere dafür, ein neues Beispiel in der viel besser lesbaren Syntax von Python zu schreiben, welche den Kern des Artikels nicht verwischt. -- vicbrother 24.02.09
(Der vorstehende Beitrag stammt von Vicbrother – 10:43, 24. Feb. 2009 (MEZ) – und wurde nachträglich vollständig signiert.)

Bevor du für etwas plädierst, schlag doch erstmal gleich ein geeigneteres Beispiel vor. Vorher abzustimmen bringt nicht viel ;) --WissensDürster 13:59, 16. Aug. 2009 (CEST)

Archivierung dieses Abschnittes wurde gewünscht von: arilou (Diskussion) 09:26, 17. Jan. 2014 (CET)

Überarbeitung

Ich habe den Artikel mal ein wenig überarbeitet, vorallem die Beispiele sollten nun leichter zu verstehen sein. Auch die/(das?) "man(s)" habe ich entfernt. Ganz gelungen ist der Artikel meiner Meinung nach aber immer noch nicht.
(nicht signierter Beitrag von 77.186.48.85 (Diskussion | Beiträge) 17:31, 20. Aug. 2009 (CEST))

Archivierung dieses Abschnittes wurde gewünscht von: arilou (Diskussion) 09:26, 17. Jan. 2014 (CET)

Klasse, Objekt, Instanz

Diese drei Begriffe sorgen immer für Verwirrung. Ich schlage vor, fast gänzlich auf das Wort Objekt zu verzichten. Es gibt Klassen und (möglicherweise) Instanzen dieser Klassen. Das Wort "Objekt" ist nur an einer Stelle wichtig: Klassen sind Implementierungen (Softwaretechnische Beschreibungen) von realen Objekten! (nicht signierter Beitrag von Wobex (Diskussion | Beiträge) 14:35, 8. Feb. 2012 (CET))

Kaum jemand verwendet das Wort "Implementierung" in diesem Zusammenhang; somit verwirrt das nur wieder.
Nichts wie weg mit diesem Absatz:
Archivierung dieses Abschnittes wurde gewünscht von: arilou (Diskussion) 09:26, 17. Jan. 2014 (CET)

Völlig nebensächlich

Im ersten Abschnitt, wo eigentlich ein kurze, klare Definition des Lemmas stehen sollte, findet sich hier ein vollkommen nebensächlicher Hinweis auf Konventionen zur Groß- und Kleinschreibung in manchen Programmiersprachen. Das finde ich an dieser Stelle eher verwirrend. Außerdem existieren noch weitere Konventionen in anderen Sprachen (z.B. beginnen oder enden Klassennamen in manchen Sprachen mit T), aber viele Programmierer halten sich sowieso nicht an derlei Konventionen.
Ich schlage vor, den Satz "In vielen Programmiersprachen ist es üblich, ..." ganz zu löschen.
--62.245.164.114 13:29, 3. Sep. 2013 (CEST)

  1. Die Kritik finde ich weitgehend richtig, eine solche Nebensächlichkeit muss nicht in der Einleitung stehen.
  2. "Ganz löschen" aber imo übertrieben, ich hab's jetzt weiter unten in einem eigenen Absatz.
--arilou (Diskussion) 14:10, 3. Sep. 2013 (CEST)
Archivierung dieses Abschnittes wurde gewünscht von: arilou (Diskussion) 09:26, 17. Jan. 2014 (CET)

Lemma

Klasse ist kein Konzept der Programmierung, auch nicht der objektorientierten Programmierung, sondern der Objektorientierung. Klassen werden in (objektorientierter) Analyse, Design und Test genauso verwendet wie bei der Programmierung. Vorschlag: Lemma in Klasse (Objektorientierung) umzubenennen. Diskussion darüber bitte unter Wikipedia:Redaktion Informatik/Qualitätssicherung#Schnittstelle (Programmierung) --Sebastian.Dietrich 16:15, 9. Sep. 2012 (CEST)

Gemäß dortigem Diskussionsverlauf jetzt geändert Wikipedia:Redaktion_Informatik/Qualitätssicherung/Archiv/2012/3#Schnittstelle_(Programmierung) --Sebastian.Dietrich 20:19, 18. Feb. 2015 (CET)
Archivierung dieses Abschnittes wurde gewünscht von: Sebastian.Dietrich 20:20, 18. Feb. 2015 (CET)