Computing">
Clases en Poo
Clases en Poo
Clases en Poo
DE CIUDAD SERDÁN
INGENIERÍA INFORMATICA
FUNDAMENTOS DE PROGRAMACIÓN
“CLASE EN POO”
Una clase es un diseño que se puede utilizar para crear varios objetos
individuales.
Una clase define un grupo o conjunto de datos, en objetos se llaman atributos, que
definen los objetos, así como un conjunto de comportamientos, las funciones o
métodos del objeto, que lo manipulan y relacionan los objetos unos de otros.
¿Qué es un objeto?
Debes entender que una clase viene a constituir un Esqueleto que sirve para
poder crear objetos o dicho de otra forma crear Instancias de la Clase y así
mantener las mismas propiedades para todos los objetos.
<atributos>
<constructor>
<métodos>
El <nombre> puede ser cualquiera, siempre que sea válido (no tener espacios, no
empezar con un número, no ser una palabra reservada, etc.).
Para los <modificadores> pueden ser varias opciones, pero lo habitual es usar
public, que indica que es accesible desde cualquier parte de nuestro código
fuente.
Dentro de la clase, que lo sabemos porque este entre llaves {}, es dónde están el
conjunto de atributos, constructores y métodos asociados a la clase.
Un ejemplo en Java:
El <nombre> le pasa igual que con la clase, puede ser cualquiera que acepte el
lenguaje de programación.
La palabra clave private indica que nadie podrá ver ese atributo, excepto los
métodosdentro de la clase.
El <tipo> del atributo puede ser cualquier tipo de datos primitivo (int, float, char ) o
el nombre de una clase.
Es posible asignar un <valor_inicial> a un atributo, aunque lo habitual es hacerlo
en el Constructor.
<instrucciones>
Ejemplo fuera un número, como puede ser un float, el método debe devolver
siempre un float en todos los retornos que escribimos en la función. Además, la
función sólo puede ser usada dónde se espera devolver este tipo de valor.
return numRuedas;
La herencia ofrece una ventaja importante, permite la reutilización del código. Una
vez que una clase ha sido depurada y probada, el código fuente de dicha clase no
necesita modificarse. Su funcionalidad se puede cambiar derivando una nueva
clase que herede la funcionalidad de la clase base y le añada otros
comportamientos.
Ejemplo del segundo tipo, que simule la utilización de liberías de clases para crear
un interfaz gráfico de usuario como Windows 3.1 o Windows 95.
Supongamos que tenemos una clase que describe la conducta de una ventana
muy simple, aquella que no dispone de título en la parte superior, por tanto no
puede desplazarse, pero si cambiar de tamaño actuando con el ratón en los
bordes derecho e inferior.
protected int x;
protected int y;
this.x=x;
this.y=y;
this.ancho=ancho;
this.alto=alto;
//...
}
Las funciones miembros, además del constructor serán las siguientes: la función
mostrar que simula una ventana en un entorno gráfico, aquí solamente nos
muestra la posición y las dimensiones de la ventana.
ancho+=dw;
alto+=dh;
package ventana;
protected int x;
protected int y;
this.x=x;
this.y=y;
this.ancho=ancho;
this.alto=alto;
ancho+=dw;
alto+=dh;
ventana.mostrar();
ventana.cambiarDimensiones(10, 10);
ventana.mostrar();
La clase derivada
Incrementamos la funcionalidad de la clase Ventana definiendo una clase derivada
denominada VentanaTitulo. Los objetos de dicha clase tendrán todas las
características de los objetos de la clase base, pero además tendrán un título, y se
podran desplazar (se simula el desplazamiento de una ventana con el ratón).
La clase derivada heredará los miembros dato de la clase base y las funciones
miembro, y tendrá un miembro dato más, el título de la ventana.
super(x, y, w, h);
titulo=nombre;
super(x, y, w, h);
inicializa los cuatro miembros dato de la clase base Ventana: x, y, ancho, alto. A
continuación, se inicializa los miembros dato de la clase derivada, y se realizan las
tareas de inicialización que sean necesarias. Si no se llama explícitamente al
constructor de la clase base Java lo realiza por nosotros, llamando al constructor
por defecto si existe.
La función miembro denominada desplazar cambia la posición de la ventana,
añadiéndoles el desplazamiento.
x+=dx;
y+=dy;
Redefine la función miembro mostrar para mostrar una ventana con un título.
super.mostrar();
System.out.println("titulo : "+titulo);
En la clase derivada se define una función que tiene el mismo nombre y los
mismos parámetros que la de la clase base. Se dice que redefinimos la función
mostrar en la clase derivada. La función miembro mostrar de la clase derivada
VentanaTitulo hace una llamada a la función mostrar de la clase base Ventana,
mediante
super.mostrar();
mostrar();
package ventana;
super(x, y, w, h);
titulo=nombre;
super.mostrar();
System.out.println("titulo : "+titulo);
x+=dx;
y+=dy;
Ventajas
1.-Una de las ventajas de usar Clases es que todos los objetos creados a partir de
la clase reciben las mismas propiedades, de ese modo no tendrás que
preocuparte por verificar si todos tus objetos tienen propiedades diferentes.
2.- se pueden definir comportamiento; estos comportamientos los llamaremos
Métodos de la Clase. Estos métodos van a definir un proceso que el Objeto de la
Clase puede realizar.
FUENTES BIBLIOGRÁFICAS
http://www.sc.ehu.es/sbweb/fisica/cursoJava/fundamentos/herencia/herencia.htm
https://lenguajesdeprogramacion.net/diccionario/que-es-una-clase-en-programacion-orientada-a-
objetos/
https://www.unirioja.es/cu/jearansa/0910/archivos/EIPR_Tema02.pdf