2009-05-29 18 views

risposta

2

Javascript utilizza l'OO basato su prototipo per impostazione predefinita.

Tuttavia, se si utilizza la libreria di prototipi, ad esempio, è possibile utilizzare Class.create().

http://prototypejs.org/api/class/create

Sarebbe permetterà di creare (o ereditano) di una classe, dopo che si sarebbe istanziare le sue istanze con il nuovo.

Altre biblioteche hanno probabilmente strutture simili.

+0

Alcuni fanno. jQuery non lo fa, in quanto prevede che sarà più probabile che affronti le raccolte jQuery piuttosto che con le classi. – Nosredna

3
function Foo() { 
    // constructor 
} 

Foo.prototype.bar = function() { 
    // bar function within foo 
} 
+0

Penso che tu abbia una "funzione" extra all'inizio di 'bar'. :-) –

+0

Sì. Inoltre, non dimenticare di menzionare che devi usare il nuovo Foo(). – alamar

+0

whoops corretto, non sono così abituato a scrivere javascript oo. –

0

È "un po '" possibile. Prototype ha una guida integrata per scrivere classi in JS. Dai uno sguardo a this thorough description su come puoi farlo.

var namedClass = Class.create({ 
    initialize: function(name) { 
     this.name = name; 
    } 

    getName: function() { 
     return this.name; 
    } 
}); 
var instance = new namedClass('Foobar'); 
0

JavaScript si basa su oggetti, non sulle classi. Utilizza l'ereditarietà prototipale, non l'ereditarietà classica.

JavaScript è malleabile e facilmente estensibile. Di conseguenza, ci sono molte librerie che aggiungono l'ereditarietà classica a JavaScript. Tuttavia, usandoli rischi di scrivere codice che è difficile da seguire per la maggior parte dei programmatori JavaScript.

Problemi correlati