Está en la página 1de 4

Las propiedades estaticas se asignan a la clase pero no a las instancias.

<script>

console.log(Math.PI);

function Convertidor(){

}

Convertidor.GRADOS_A_RADIANES =Math.PI/180;
Convertidor.RADIANES_A_GRADOS =180/Math.PI;

console.log('180 grados son: ' + 180*Convertidor.GRADOS_A_RADIANES + '
radianes.');
console.log('2PI radianes son: ' + 2*Math.PI*Convertidor.RADIANES_A_GRADOS +
' rados.');

</script>
-----------------------------------------------------------------------------------
----------------------
Las Propiedades publicas seran accesibles desde dentro de su clase y desde sus
instancias.

<script>

function Persona(dni, nombre){
this.dni = dni ;
this.nombre = nombre ;
}

var yo = new Persona('12345', 'Marcos');
var tu = new Persona();

tu.dni = '67890';
tu.nombre = 'Pedro';

tu['nombre'] = 'Otro';

console.log(yo);
console.log(tu);

</script>
-----------------------------------------------------------------------------------
----------------------
Las propiedades privadas son propiedades de una clase pero solo accesibles desde su
clase.

Si algun metodo quiere tener accso a una propiedad privada tiene que declararse
dento de la clase.

<script>

function Persona (dni, nombre) {
var edad = 0;
// Mejor this._edad = 0; El _ Guion bajo nos indica que es privada.

this.dni = dni;
this.nombre = nombre;

log(Math.log (this. 'Marcos').aRadianes(180) + ' radianes.PI). <script> console. <script> function Persona (dni. function Convertidor(){ } Convertidor.dni = dni. console. Convertidor. } var yo = new Persona ('12345'.log(yo.RADIANES_A_GRADOS =180/Math. console.aGrados(2*Math. this. console.PI/180. } console.log(yo.aGrados = function (radianes) { return radianes * Convertidor.saludar = function (nombre) { console.nombre + ' te saluda ' + nombre).').log('180 grados son: ' + Convertidor.edad).log('2PI radianes son: ' + Convertidor. </script> ----------------------------------------------------------------------------------- ---------------------- Metodos publicos. </script> ----------------------------------------------------------------------------------- ---------------------- Metodos estaticos se asocian directamente a la clase y no asus estancias. // Metodos que accedan a las propiedades o metodos privados aqui.nombre = nombre. } Convertidor.PI. .GRADOS_A_RADIANES.aRadianes = function (grados) { return grados * Convertidor. Convertidor.RADIANES_A_GRADOS.GRADOS_A_RADIANES =Math. // Si el metodo lo declaramos de esta forma con this y dentro de la declaracion de la // clase lo que pasara que cada instancia (Objeto) tendra un metodo saludar y esto ocuparia // mucho espacio y no nos interesa ya que cada instancia (Objeto) si que tendra su propio // dni su propio nombre pero saludar es general para todas las demas instancias (Objetos). this.').dni). nombre) { this.PI) + ' grados.

this. <script> function Persona (dni.edad). } } Persona.dni = dni. 'Marcos').log (this.saludar('Pepito').prototype. // Devuelve undefined ya que edad no se encuentra en el objeto // al no estar declarada a traves de this.log (this. } var yo = new Persona ('12345'. yo.nombre + ' te saluda ' + nombre). yo. yo.nombre = nombre.dni = dni. this. yo. </script> Esta es la forma correcta.envejecer ().prototype. </script> ----------------------------------------------------------------------------------- ---------------------- Metodos privados. } Persona. nombre) { var edad = 0. } var yo = new Persona ('12345'. } } var yo = new Persona ('12345'. console.saludar('Pepito'). 'Marcos').dni = '67890'.saludar = function (nombre) { console. this. // Metodos que accedan a las propiedades o metodos privados aqui function envejecer() { edad++. .saludar = function (nombre) { console.log(yo. yo. 'Marcos'). yo.saludar ('Pepito').nombre = nombre.dni = '67890'. nombre) { this. <script> function Persona (dni.nombre + ' te saluda ' + nombre).

</script> ----------------------------------------------------------------------------------- ---------------------- ----------------------------------------------------------------------------------- ---------------------- .