[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