[LatinaLUG] OT: oggetti in javascript
Jusi Pomenti
jusipom@gmail.com
Gio 6 Ott 2016 21:35:46 CEST
Ciao,
scusate se sono OT,ma ho un problema nella definizione di oggetti
javascript.Non avendoli mai usati,ho scritto questo semplice script per
capire come funzionano gli oggetti in questo linguaggio:
<script language="javascript" type="text/javascript">
function calcola_area(x,y)
{
return x*y;
}
function rec(x,y)
{
this.x=x;
this.y=y;
this.area=calcola_area(this.x,this.y);
this.per=function()
{ return 2*(this.x*this.y) };
}
</script>
richiamandolo cosi':
<script language="javascript" type="text/javascript">
var r=new rec(7,4);
s="x="+r.x+"<br>y="+r.y+"<br>";
s+="area:"+r.area+"<br>perimetro="+r.per+"<br>";
document.write(s);
</script>
l'output che ottengo รจ::
x=7
y=4
area:28
perimetro=function () { return 2*(this.x*this.y) }
L'area viene calcolata bene ma da una funzione esterna all'oggetto per
cui non rispetta la regola dell'incapsulamento propria dell'OOP;
La funzione "per",interna all'oggetto,dovrebbe essere il modo corretto
di definire un metodo e dovrebbe restituire 22 invece restituisce il
testo della funzione stessa;perche'?
Ciao e grazie
Jusi
--
-------------------------------
Junior Silvestro Pomenti
Latina
Email: jusipom(at)gmail.com
-------------------------------
Maggiori informazioni sulla lista
latina