Objetos, Clases y Métodos

node v10.24.1
version: 1.0.0
endpointsharetweet
var neo = {npatas:4, tienepelo:true}
Crear un objeto mediante un constructor(Clase)
// Definimos la funcion constructora function Gato(){ this.npatas=4 this.tienepelo=true; } // Creamos una instancia de la clase Gato micifu = new Gato(); micifu
### Subclases realmente son las rpopiedades de un mamifero. Aprovechamos para definir subclases
function Mamifero(name){ this.npatas=4 this.nombre=name this.tienepelo=true; } Gato = function(name){ obj = new mamifero(name); obj.especie= "gato" return obj; } micifu = new Gato("micifu)
### Herencia Si modificamos la clase superior, las instancias de las subclases heredan las propiedades
Mamifero=function(name){ this.npatas=4; this.nombre= name; this.tienepelo=true; this.ponehuevos=false; // nueva propiedad this.criastomanleche=true; // nueva propiedad } Micifu = new Gato("micifu") // la nueva instancia de gato hereda las nuevas propiedades de los mamiferos micifu
### Métodos Cuando el valor de una propiedad es una funcion la llamamos Método y define un comportamiento
Mamifero =function(name){ this.npatas=4; this.nombre= name; this.tienepelo=true; this.ponehuevos=false; // nueva propiedad this.criastomanleche=true; // nueva propiedad // metodos this.saluda =function(){ console.log("hola soy "+this.nombre+" y soy un "+this.especie) } this.hazturuido = function(){ if(this.ruido) console.log(this.ruido+ " ... "+this.ruido); } } Gato = function(name){ obj = new Mamifero(name); obj.especie= "gato"; obj.ruido= "Miau"; return obj; } Micifu = new Gato("micifu"); Micifu.hazturuido();
Encadenando metodos si el metodo devuelve mediante un "return this", puedo encadenarlos mediante el punto
Mamifero =function(name){ //propiedades this.npatas=4; this.nombre= name; this.tienepelo=true; this.ponehuevos=false; // nueva propiedad this.criastomanleche=true; // nueva propiedad // metodos this.saluda =function(){ console.log("hola soy " +this.nombre+" y soy un "+this.especie); return this; } this.hazturuido = function(){ if(this.ruido) console.log(this.ruido+ " ... "+this.ruido); return this; } } Gato("Neo").hazturuido().saluda().hazturuido() Perro = function(name){ obj = new Mamifero(name); obj.especie= "perro"; obj.ruido= "Guau"; } Perro("Toby").hazturuido().saluda().hazturuido() Perro("Chispa").hazturuido().saluda().hazturuido()
Loading…

no comments

    sign in to comment