HighDots Forums  

Textarea-Elemente erweitern

Javascript (German) Programmiersprache JavaScript. (de.comp.lang.javascript)


Discuss Textarea-Elemente erweitern in the Javascript (German) forum.



Reply
 
Thread Tools Display Modes
  #21  
Old   
J. Strübig
 
Posts: n/a

Default Re: Textarea-Elemente erweitern - 03-18-2008 , 05:44 AM






Thomas 'PointedEars' Lahn schrieb:
Quote:
Frank Seitz wrote:
Zur Diskussion, ob der Begriff "Klasse" im JavaScript-Kontext
angebracht ist: Ich komme von Perl her, da gibt es auch keine Klassen
im traditionellen Sinne und dennoch spricht man dort von "Klassen".
Das hat den Vorteil, dass wenigstens jeder weiß was gemeint ist.

Mit OOP in Perl habe ich mich zugegebenermassen noch zu wenig beschäftigt.
Nach Querlesen von `man perltoot' denke ich aber, dass Du Dich irrst:
Perl verfolgt anscheinend primär den klassenbasierten Ansatz der
objektorienten Programmierung. Objekte sind Instanzen von Klassen, und
Klassen erben nur von einer oder mehreren anderen Klassen.
Das ist grober Unfug. Wenn du die prototypen von JS nicht mit Klassen
vergleichen möchtest, dann müßte der Ansatz von Perl in deinen Augen
nicht mal ein Objektorientierter sein (was für Java Programmierer auch
der Fall sein dürfte).

Struppi.


Reply With Quote
  #22  
Old   
Frank Seitz
 
Posts: n/a

Default Re: Textarea-Elemente erweitern - 03-18-2008 , 04:07 PM






J. Strübig wrote:
Quote:
Thomas 'PointedEars' Lahn schrieb:
Frank Seitz wrote:

Zur Diskussion, ob der Begriff "Klasse" im JavaScript-Kontext
angebracht ist: Ich komme von Perl her, da gibt es auch keine Klassen
im traditionellen Sinne und dennoch spricht man dort von "Klassen".
Das hat den Vorteil, dass wenigstens jeder weiß was gemeint ist.

Mit OOP in Perl habe ich mich zugegebenermassen noch zu wenig beschäftigt.
Nach Querlesen von `man perltoot' denke ich aber, dass Du Dich irrst:
Perl verfolgt anscheinend primär den klassenbasierten Ansatz der
objektorienten Programmierung. Objekte sind Instanzen von Klassen, und
Klassen erben nur von einer oder mehreren anderen Klassen.

Das ist grober Unfug. Wenn du die prototypen von JS nicht mit Klassen
vergleichen möchtest, dann müßte der Ansatz von Perl in deinen Augen
nicht mal ein Objektorientierter sein (was für Java Programmierer auch
der Fall sein dürfte).
Nun drescht mal nicht so aufeinander ein.
Perl ist klar objektorientiert, kennt aber keine Spezifikation
von Attributen, nicht einmal über einen Prototyp. Eine Klasse ist in Perl
nichts weiter als ein Namensraum, in dem Methoden gesucht werden.
Nicht einmal ein Konstruktor ist vorgegeben.

BTW: Java-Programmierer wissen i.d.R. nicht, was wahre
Objektorientierung ist.

Grüße
Frank
--
Dipl.-Inform. Frank Seitz; http://www.fseitz.de/
Anwendungen für Ihr Internet und Intranet
Tel: 04103/180301; Fax: -02; Industriestr. 31, 22880 Wedel


Reply With Quote
  #23  
Old   
J. Strübig
 
Posts: n/a

Default Re: Textarea-Elemente erweitern - 03-19-2008 , 06:39 AM



Frank Seitz schrieb:
Quote:
J. Strübig wrote:
Thomas 'PointedEars' Lahn schrieb:
Frank Seitz wrote:
Zur Diskussion, ob der Begriff "Klasse" im JavaScript-Kontext
angebracht ist: Ich komme von Perl her, da gibt es auch keine Klassen
im traditionellen Sinne und dennoch spricht man dort von "Klassen".
Das hat den Vorteil, dass wenigstens jeder weiß was gemeint ist.
Mit OOP in Perl habe ich mich zugegebenermassen noch zu wenig beschäftigt.
Nach Querlesen von `man perltoot' denke ich aber, dass Du Dich irrst:
Perl verfolgt anscheinend primär den klassenbasierten Ansatz der
objektorienten Programmierung. Objekte sind Instanzen von Klassen, und
Klassen erben nur von einer oder mehreren anderen Klassen.
Das ist grober Unfug. Wenn du die prototypen von JS nicht mit Klassen
vergleichen möchtest, dann müßte der Ansatz von Perl in deinen Augen
nicht mal ein Objektorientierter sein (was für Java Programmierer auch
der Fall sein dürfte).

Nun drescht mal nicht so aufeinander ein.
Och, diesen Kommunikations- und Diskussionsstil fröhnt nur einer hier.

Quote:
Perl ist klar objektorientiert, kennt aber keine Spezifikation
von Attributen, nicht einmal über einen Prototyp. Eine Klasse ist in Perl
nichts weiter als ein Namensraum, in dem Methoden gesucht werden.
Nicht einmal ein Konstruktor ist vorgegeben.
Mir ist das schon klar, nur ist mir nicht klar warum man bei Perl von
Klassen sprechen kann und bei Javascript schon die Aussage "sind
vergleichbar mit" als groben Unfug abtut.

Wenn ich die Erklärung bei wikipedia richtig verstehe (was natürlich
nicht sein muss) dann beschreibt der Begriff Klasse auch unter JS das
was man bekommt, wenn man Instanzen von Prototypen hat. Nur weil einige
Konzepte anderer Programmiersprachen nicht existieren (ähnlich wie bei
Perl) oder die einzelne Instanz völlig losgelöst von seinem
Ursprungsobjekt ist (ähnlich wie bei Perl), erscheint mir das Konzept
der Klasse vorhanden zu sein.

Quote:
BTW: Java-Programmierer wissen i.d.R. nicht, was wahre
Objektorientierung ist.
Willst du einen Flamewar starten? ;-)

Struppi.


Reply With Quote
  #24  
Old   
Thomas 'PointedEars' Lahn
 
Posts: n/a

Default Re: Textarea-Elemente erweitern - 03-19-2008 , 07:58 PM



J. Strübig wrote:
Quote:
Thomas 'PointedEars' Lahn schrieb:
struppi wrote:
Es gibt kein prototype Objekt, du kannst keines erzeugen. Aber ein
Prototyp hat eine prototype Eigenschaft. Alle von diesem Prototyp
erzeugten Instanzen haben die Eigenschaften, die mit prototype
definiert werden. Also ist der Prototyp vergleichbar mit Klassen in
anderen Programmiersprachen. Das ist auch der Begriff für Klassen,
den du in vielen Beschreibungen über OOP in Javascript findest.
Das ist grober Unfug!

Steht aber so u.a. auch in den von dir verlinkten Artikeln.
Zum Beispiel?

Quote:
Jeder Konstruktor und damit jedes Function-Objekt hat eine
prototype-Eigenschaft, die ein Object-Object referenziert.

Das ist exakt der grobe Unfug den ich oben erzählt habe.
Keineswegs.

Quote:
Prototypen sind nicht mit Klassen vergleichbar. Die Bezeichnung Klasse
für einen Konstruktor zu verwenden, ist falsch,

Das mag sein, nur schrieb ich 'vergleichbar'
Genau das ist das Problem.

Quote:
und was ist denn für dich eine Klasse? Wikipedia schreibt: Klasse ist in
der Objektorientierung ein abstrakter Oberbegriff für die Beschreibung
der gemeinsamen Struktur und des gemeinsamen Verhaltens von Objekten
(Klassifizierung). Sie dient dazu, Objekte zu abstrahieren. Im
Zusammenspiel mit anderen Klassen ermöglichen sie die Modellierung eines
abgegrenzten Systems in der objektorientierten Analyse und dem
objektorientierten Design.

Diese Erklärung trifft nicht auf von Konstruktoren erzeugten Instanzen
zu?
Nein, denn es genügt, von zwei Objekten, die mit einem Konstruktor erzeugt
wurden, eines zu ändern, damit die Struktur nicht mehr gemeinsam ist. Und
bereits der Konstruktor kann eine völlig andere Struktur generieren:

function Foo(b)
{
if (b)
{
this.foo = "bar";
}
else
{
this.bar = "foo";
}
}

var o = new Foo(true);
var o2 = new Foo();

// true
o.constructor === o2.constructor

// true
o.constructor.prototype === o2.constructor.prototype

Quote:
und die entsprechenden "Beschreibungen über OOP in JavaScript" daher
fehlerhaft.

Du meinst den von dir verlinkten Wikipedia Artikel über protpypenbasierte
Programmierung?
Nein.

Quote:
Ich lese den so, dass in JS (bzw. in der protpypenbasierte
Programmierung) auf die den Begriff Klasse verzichtet wird, stattdessen
verwendet man von prototypen.
Da liest Du etwas Falsches heraus.


PointedEars
--
Mozilla ist ein Webbrowser. Das ist ein Programm, dass es ermoeglicht,
Webseiten anzusehen. Das ist nicht sowas wie ein Programm, das es
Webdesignern erlaubt, den Nutzer zu belaestigen, indem man seine
Arbeitsumgebung unsinnig manipuliert. -- Boris 'pi' Piwinger in dcljs


Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.