Seguidores

MIS WEBS



domingo, 12 de noviembre de 2017

Programación Orientada a Objetos POO

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

Buscar este blog

Sandisk y Western Digital