Heritage JavaScript avec prototype.js

Fermé
diva_69 - 4 déc. 2007 à 10:43
 diva_69 - 4 déc. 2007 à 10:51
Bonjour,
J'essai de faire de l'heritage avec l'API prototype.js mais je n'y arrive pas.

<script type='text/javascript' >
				var FirstClass = Class.create();
				FirstClass.prototype = 
				{
				   initialize: function () 
				   {
				       this.data = "Hello World";
					   alert("constructeur appeler");
				   },
				   
					message1: function () 
					{
				        alert("message1");
				    }
				};
				 
				var DataWriter = Class.create();
				DataWriter.prototype = {
					message2: function () 
					{
				        alert("message1");
				    }
				};
				Object.extend(DataWriter, FirstClass);
		</script>
		<script type='text/javascript'>
			var temp2 = new DataWriter();
			temp.message1();
			temp.message2();
		</script>


Je crée deux classes "DataWriter" qui hérite de "FirstClass".
Voila ce qu'il ce passe :
- temp.message1(); --> appelle le constructeur de "FirstClass" et affiche alert("constructeur appeler");
- temp.message1(); --> alert("message1"); (la derivation a l'air de marcher)
- temp.message2(); --> erreur JavaScript (FireFox : "temp2.message2 is not a function"/ IE :"this.initialize a la valeur Null ou n'est pas un objet.")

Pourquoi cette erreur ? La derivation ne marche pas ?

1 réponse

oups pardon c'est il faut remplacer

var temp2 = new DataWriter(); ---- par ----> var temp = new DataWriter();
0