25/01/2002, 23:28
|
| | Fecha de Ingreso: diciembre-2001 Ubicación: Ciudad de México
Mensajes: 117
Antigüedad: 22 años, 11 meses Puntos: 0 | |
Re: irc-hispano: entrevista a robert penner Intro Rápida al OOP:
Los Objetos están compuestos de propiedades y/o métodos. Las propiedades son las características del objeto... y los métodos son las acciones que realiza. Por ejemplo: Un gato es un objeto... sus propiedades son sus 4 patas, sus dos ojos, sus dos orejas,etc.. y sus métodos pueden ser maullar, correr, morder, arañar, etc.
Las Clases vienen siendo como un molde... por ejemplo... todos los gatos tienen las mismas características... sin embargo ... cambian en el color, en el tamaño, en el caracter, etc... cada gato es único.
Para construir una Clase usamos el constructor de funciones. Por ejemplo:
function Gato (color, colorOjos){
this.numeroPatas= 4
this.numeroOjos= 2
this.color= color
this.colorOjos= colorOjos
}
Aquí estamos defniniendo una clase llamada "Gato"... todos los gatos tienen 4 patas y dos ojos... asi que los definimos en el constructor.. sin embargo no todos tienen el mismo color ni el mismo color de ojos... así que dejamos que estos argumentos los podamos cambiar.
Una instancia, es un objeto que hereda las propiedades de una Clase específica.
Vamos a construir un nuevo gato... llamado "bolita"
bolita = new Gato("negro", "amarillos");
Aquí estamos creando una instancia del objeto Gato.. que tiene 4 patas, 2 ojos y que es de color negro y sus ojos amarillos.
Supongamos que bolita tiene un collar
bolita.collar= "rojo"
Aquí estamos agregándole una propiedad a la Instancia "bolita", pero sin afectar a la clase "gato"
Supongamos que queremos agregar el método "maullar" a la clase gato ya que todos los gatos maullan. Entonces usamos su propiedad Prototype para asignar un método que será heredado por todas las instancias.
Gato.prototype.maullar= function() {
lo_que_hace_un_gato_cuando_maulla();
}
Nosotros podremos acceder a ese método en bolita, porque lo ha heredado de la clase gato.
bolita.maullar()
// rolf :: senior product specialist
// <a href="http://alesys.net">alesys.net</a> :: <a href="http://tweened.net">tweened.com</a> |