POO
Historia de la programación orientada a objetos
POO surgen entre las décadas de los 60/70 y son las siglas de Programación Orientada a Objetos que viene del Inglés OOP (Object Oriented Programming). Es un paradigma informático que en su momento revolucionó la forma de programar, anteriormente la programación estaba orientada a procedimientos (Fortran, Cobol, Basic, etc), esto generaba una serie de problemas:• El código era muy largo
• En caso de error era muy complejo de solucionarlo por otro programador, porque era fácil acabar creando código espagueti (instrucciones como go to o go sub hacían que el programa saltara constante mente de un lado a otro).
• Si existía un error el programa se caía.
• Era muy complicado reutilizar un programa para otro que fuera parecido.
Para resolver todos estos problemas se generó POO. El programa que creamos se subdivide en pequeños programas u objetos (módulos o clases), independientes que al final se unen formando un todo (modularización). Cada objeto va a tener una serie de características (un estado, unas propiedades o atributos y un comportamiento).
Esto nos facilita mucho las cosas, ¿para qué sirve dividir el programa en objetos?:
• Si un objeto se cae el resto del programa puede seguir funcionando, debido a la modularización del programa.
• Es más fácil detectar en que parte del programa está fallando ya que iremos directamente al objeto que falla. Tratamiento de excepciones.
• Podemos reutilizar cada uno de nuestros objetos en un nuevo programa (herencia).
• Encapsulamiento los objetos son completamente independientes, se comunican entre sí en un punto determinado pero no tiene por qué depender del resto.
Un objeto tendrá una serie de características:
Un estado: Como se encuentra en este justo momento (Activo, inactivo; encendido, pagado; incrementar, decrecer, estático, dinámico…)
Unas propiedades o atributos: Características del objeto (Color, peso, altura…)
Un comportamiento o método: ¿Qué puede hacer? (Sumar, restar, dividir, encender, apagar).
Clase: Modelo donde se redactan las características comunes de un grupo de objetos. Arrancando con esa base se pueden construir diferentes objetos.
o Ejm. El tronco de un árbol: todos los arboles tienen un tronco como base.
A partir de esto existen diferentes objetos: Naranjo, olivo, abedul, pino….
Objeto: Ejemplar perteneciente a una clase y pose una serie de propiedades y comportamientos.
o Propiedades (atributos): valor, color, posición…
o Comportamientos ¿Qué es capaz de hacer? : sumar, restar, multiplicar, cambiar de color, modificar su posición en el espacio, encender, apagar….
Nosotros podremos acceder a las propiedades y comportamiento desde (pseudocódigo).
Propiedades o atributos: Son las Variables o constantes que tiene una clase. Para acceder a las propiedades y modificarlas utilizamos la nomenclatura del punto ( nombre_objeto . propiedad = Valor)
o Arbol.color=”amarrilo”;
o Arbol.Altura=2000;
o Arbol.ancho=50;
Comportamiento o método: Para acceder a los comportamientos y modificarlas utilizamos la nomenclatura del punto ( nombre_objeto . método () ).
o Arbol.Flexividad();
o Arbol.Crecimineto();
o Arbol.Enraizamiento();
Ejemplar de clase. Instancia de clase. Ejemplarizar una clase. Instanciar una clase: Hacer una llamada a una clase para poderla utilizar.
Ejemplo.
1º. Crearemos una clase llamada árbol.
package poo_arbol;
public class arbol {
// ATRIBUTOS
int alto,ancho;
String copa,colorHoja;
//le darémos valor a cada una de las propiedades COMPORTAMIENTOS O MÉTODOS
public arbol() {
alto = 1500; ancho=50; copa = "redonda" ; colorHoja = "verde";
}
}
2º. Ahora utilizaremos la Clase árbol para construir el Naranjo.
public class Arbol_Naranjo {
public static void main(String[] args) {
/* Instanciar una clase. Ejemplar de clase:
* realizamos una llamada al arbol que es la matriz con una serie de valores
* prederterminados ya por nostros y que ahora podemos utilizar o modificar.
*/
arbol Naranjo = new arbol();
System.out.println
("UN NARANJO TIENE: \n\n"
+ "De color de hoja: " + Naranjo.colorHoja + "\n"
+ "con una altura de: " + Naranjo.alto + "\n"
+ "su tronco tiene una circunferencia de: " + Naranjo.ancho + "\n"
+ "Su compa es : " + Naranjo.copa + "\n"
);
}
}
No hay comentarios:
Publicar un comentario