Methoden, Klassen, usw.

Amin Negm-Awad

Süsser Pfaffenapfel
Registriert
01.03.07
Beiträge
665
und welches buch soll ich mir jetzt kaufen?

Ganz einfach: Schaue in alle rein und lese ein bisschen. Dann wirst du selbst sehen, was dich interessiert und anspricht.

Außerdem unterstützt du damit den Fach-Buchhandel. Das ist nie verkehrt.
 

tjp

Altgelds Küchenapfel
Registriert
07.07.04
Beiträge
4.057
In Objective-C muss es ein Exemplar geben, nämlich das Klassenobjekt.
Ein Klassenobjekt (im Sinne von Smalltalk) gibt es in Objective-C nicht, da es sich bei dieser C-Struktur um etwas gänzlich anderes als die normalen Exemplare handelt. Im Sourcecode der Runtime Library von GCC Objective-C Compiler ist das einzusehen. Bestenfalls kann man von Metaobjekt sprechen, aber da Klassen keine Klassenattribute haben können ist das auch nur mit Einschränkung richtig. Jedenfalls sind die C-Structs, welche die Klassen in Objective-C beschreiben, in keiner Weise von den C-Structs die Objekten beschreiben abgeleitet.

Der Begriff Vorlage paßt nicht auf Klasse. Wenn ich ins Synonymwörterbuch schaue steht da unter Vorlage: Muster, Schablone, Schema, Sample, Pattern, Paradigma, Simile
Du meinst mutmaßlich, dass die Instanz kein Abbild der Klasse ist. Das hatte er aber schon verstanden.
Letzteres war auch nicht Diskussionsgegenstand, sondern lediglich die Tatsache, daß "Vorlage" kein Synonym für "Klasse" ist.
 

Amin Negm-Awad

Süsser Pfaffenapfel
Registriert
01.03.07
Beiträge
665
Ich finde jetzt gar nicht die Stelle, an der ich behauptet hatte, es handele sich um ein Klassenobjekt im Sinne von Smalltalk.

Ich hatte gesagt, dass es ein Exemplar ist. Das ist es, nämlich eines des Typen class. Nicht der Typ erzeugt die Instanz, sondern das Klassenobjekt.
 

zirpl

Golden Delicious
Registriert
28.09.07
Beiträge
10
Hallo Amin!

Ich werde jetzt nicht mehr im Detail auf Dein Posting eingehen, weil es meiner Ansicht nach den anderen Lesern hier nicht mehr zumutbar ist. Ganz verkneifen kann ich mir eine Antwort aber doch nicht.

Du hackst darauf herum, dass ich das Buch nicht gelesen hätte und daher auch keine Kritik üben darf. Noch einmal: "querlesen" bedeutet nicht "nicht lesen". Nachdem ich jedoch schon sehr lange entwickle, benötige ich keine Erläuterung zur Installation von Xcode oder zur Erstellung eines Hello World Programms mehr. Gleiches gilt für grundlegende Kontrollstrukturen, oder eine Erklärung darüber was OOP ist. Ebenfalls trifft das auf Memory Management zu. Wie schon erwähnt, habe ich damit Erfahrung. Daher habe ich mir zum Beispiel erspart zu lesen, wie eine for-Schleife aufgebaut ist und darauf verzichtet die entsprechenden Beispiele einzutippen. Nach Kapitel 8 habe aufgrund der vielen Fehler darin aufgehört das Buch weiter zu lesen. Keiner meiner Kritikpunkte bezog sich auf irgend etwas danach. Selbst wenn alles Folgende perfekt wäre, würde das die Fehler davor nicht verschwinden lassen (zB Drag & Drop).

Du hast es zwar nicht wortwörtlich gesagt, trotzdem unterstellst Du mir laufend Dummheit. Immer wieder behauptest Du, dass ich Zusammenhänge nicht einmal ansatzweise begreife, absolut keine Ahnung habe und das nicht einmal merke. Wie soll ich das denn sonst auslegen? Mit solchen Aussagen, die in Deinen Antworten neben Zynismus laufend in direktem Bezug zu mir vorkommen, sagst Du mir genau das - nämlich dass ich dumm sei. Vielen Dank auch! In keinem Fall habe ich Dich persönlich angegriffen, oder Dir irgend welche Defizite unterstellt. Du machst das leider andauernd. Traurig.

Ich habe versucht konstruktive Kritik zu üben. Ich gebe ja zu, dass ich nach dem Lesen von Kapitel 8 wirklich verärgert war und vielleicht ist das auch bei meinem ursprünglichen Post durchgeschienen. Jedoch habe ich auch ausdrücklich geschrieben, dass ich die Ursache hauptsächlich bei fehlendem Qualitätsmanagement des Verlages sehe und ich Deine fachliche Kompetenz sehr schätze. Ich weiß, dass ich im Vergleich zu Dir noch viel zu lernen habe und Du hier der Cocoa-Super-Duper-Über-Profi bist. Sonst hätte ich mir wohl kaum - selbst wenn es nur zur Auffrischung diente - Dein Buch gekauft. Trotzdem bin ich kein Grünschnabel. Ich habe in meinem Beitrag einen Fehler gemacht, indem ich in zwei Nebensätzen mögliche Probleme beim Key-Value-Coding aufgrund einer Namenskonvention gesehen habe. Tut mir leid - hier musste ich etwas dazu lernen. Andere Kritikpunkte bleiben jedoch weiterhin bestehen.

Wenn es Dir gelingt von Deinem Ross herab zu steigen, führe ich die Diskussion mit Dir auf fachlicher Ebene auch gerne weiter. Jedoch nicht hier im Forum, sondern nur via PM. Ich halte es für unpassend, das an dieser Stelle weiter auszubreiten. Mal sehen, ob ich was von Dir höre.

Liebe Grüße
Christian
 
Zuletzt bearbeitet:

tjp

Altgelds Küchenapfel
Registriert
07.07.04
Beiträge
4.057
Ich hatte gesagt, dass es ein Exemplar ist.
Und das ist eben nicht der Fall. Im Speicher liegt etwas, was Informationen über Klassen bereitstellt, aber es ist vollkommen anders als Exemplare. Wenn es denn Exemplare wären, dann müßten auch Klassenattribute möglich sein wie bei jedem anderem Exemplar, die gibt es aber nicht. In anderen Programmiersprachen zum Beispiel SmallTalk gibt es die Klasse "Klasse" und jede konkrete Klasse ist ein Exemplar dieser Klasse, das wird durch den GNU Objective-C Compiler nicht unterstützt. In diesem Punkt ähnelt Objective-C viel mehr C++ als Smalltalk.

Der Begriff "Vorlage" suggeriert, daß man von etwas eine Kopie anfertigt. Das ist aber nur in den Prototypen-Sprachen der Fall.
 

Amin Negm-Awad

Süsser Pfaffenapfel
Registriert
01.03.07
Beiträge
665
Und das ist eben nicht der Fall. Im Speicher liegt etwas, was Informationen über Klassen bereitstellt, aber es ist vollkommen anders als Exemplare. Wenn es denn Exemplare wären, dann müßten auch Klassenattribute möglich sein wie bei jedem anderem Exemplar, die gibt es aber nicht. In anderen Programmiersprachen zum Beispiel SmallTalk gibt es die Klasse "Klasse" und jede konkrete Klasse ist ein Exemplar dieser Klasse, das wird durch den GNU Objective-C Compiler nicht unterstützt. In diesem Punkt ähnelt Objective-C viel mehr C++ als Smalltalk.

Der Begriff "Vorlage" suggeriert, daß man von etwas eine Kopie anfertigt. Das ist aber nur in den Prototypen-Sprachen der Fall.
Im Speicher liegt ein Exemplar der Klasse class ("Klasse"), nicht des Typs NSIrgendwas. Das wäre ja die Instanz. Schau mal in Jérômes Artikel:
http://cocoading.de/Tutorials/Lauf,_Forest,_lauf!.html

Das Klassenobjekt (Exemplar von class) hat sehr wohl Attribute hat, nämlich etwa die ivars-Liste.

Das vermeintliche Missverständnis (letzter Absatz) hatte ich bereits aufgegriffen. Dieses Missverständnis, welches durchaus hätte bestehen können, bestand bei ihm nicht.
 
Zuletzt bearbeitet:

Amin Negm-Awad

Süsser Pfaffenapfel
Registriert
01.03.07
Beiträge
665
@zirpl
Ich hatte wortwörtlich gesagt, dass ich dir keine Dummheit unterstelle, sondern, dass du von etwas sprichst, was du nicht gelesen hast und dazu Behauptungen aufstellst, die in bestimmter Beziehung (Header, KV-Technologien) fachlich unqualifiziert sind. Dazu stehe ich auch. Ansonsten würde ich davon mal ablassen, mir Behauptungen zu unterstellen. Danke!

Meine Freundin hat übrigens von all dem auch keinen blassen Schimmer, ist indessen ganz gewiss nicht dumm.

Ansonsten sehe ich keine fruchtbare Grundlage für eine Diskussion, weder hier noch per PM. Mir ist es auch einfach zu anstrengend, auszuführen, was ich gesagt habe. Du kannst es nachlesen.