Programación Orientada a Objetos – Sub Clases (II)

Este post es parte de una serie de artículos sobre POO y viene a continuación de Sub Clases

Crear una Sub-Clase:

Bien, esto es algo sumamente sencillo. Para crear una sub-clase sólo necesitamos extenderla en la declaración de la subclase:

Ejemplo en AS2
class cfrick.utils.MyMovieClip extends MovieClip{
function MyMovieClip(){
...
}
}

Ejemplo en AS3:
import flash.display.Sprite;
package cfrick.utils{
classs mySprite extends Sprite{
function mySprite(){
...
}
}
}

Como habíamos dicho antes, ahora la clase myMovieClip (AS2) y mySprite (AS3) heredan todas las propiedades, métodos y eventos de sus clases padre, que serían MovieClip y Sprite, respectivamente. Lo que seguiría son las propiedades, métodos y eventos correspondientes a esta clase en particular.

Sobre-escribir Métodos en una Sub-Clase:

Digamos que tenemos un método mover en nuestra clase:

class A{
function A(){
...
}
public function mover(pixelstoMove:Number){
this._x += pixelstoMove;
}
}

Ahora resulta que necesitamos hacer una subclase basada en “A” -que en un despliegue de creatividad, llamaremos “B”-, pero necesitamos cambiar un poco ese método “mover”, al cambiar el método, manteniendo la cantidad de parámetros y el tipo de datos de salida, lo estamos sobreescribiendo.

En otras palabras, sólo cambiaremos el código dentro de la función y no la función en sí. Por ejemplo:

class B extends A{
function B(){
...
}
public function mover(pixelstoMove:Number){
this._y += pixelstoMove;
}
}

Esto significa que las instancias de “A” ejecutarán el método “mover” en el eje de las x, mientras las instancias de “B” lo ejecutarán en el eje de las y.

Sobrecargar Métodos:

Ya hablamos de cómo sobreescribir nuestros métodos pero ¿qué pasa si la sobreescritura no es suficiente, si necesitamos agregar o cambiar un parámetro, cambiar el tipo de dato del método, etc.? Entonces es cuando sobrecargamos métodos.

La sobrecarga consiste en utilizar el mismo nombre de un método existente, pero cambiando sus parámetros (ya sea usando otros o una cantidad de parámetros diferente) y, claro, cambiando también el código correspondiente. Sobrecargar métodos es una forma de dar nuevas opciones a los usuarios, permitiendo que un mismo método realice diferente funciones dependiendo de los parámetros que se le envíen. Un ejemplo de sobrecarga puede ser:

class A{
public void message(){
//el código correspondiente
}
public void message(string msg){
//el código correspondiente
}
}

Acceder a la Super Clase:

Una vez que hemos creado nuestra sub clase, ésta hereda los métodos y propiedades públicas y protegidas (de ello hablaremos luego) de su super clase, para acceder a ellos desde nuestra subclase, debemos utilizar la palabra reservada super. Además, esto es muy útil por ejemplo, cuando sobreescribimos métodos pero necesitamos en algún momento acceder al método de la super clase.

Ya nuestra aventura por la Programación Orientada a Objetos se acerca a su fin, al menos por ahora. En nuestro próximo encuentro hablaremos un poco sobre ámbitos y las palabras reservadas Public, Private, Protected y Static.

Tags Technorati: , , ,


5 thoughts on “Programación Orientada a Objetos – Sub Clases (II)

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s