domingo, 11 de octubre de 2015

Programación Orientada a Objetos.

Cuando se escribe un programa en un lenguaje orientado a objetos, definimos una plantilla o clase que describe las caracterísiticas y el comportamiento de un conjunto de objetos similares. La clase automóvil describe las características comunes de todos los automóviles: sus atributos y su comportamiento. Los atributos o propiedades se refieren a la marca o fabricante, el color, las dimensiones, si tienen dos, tres, cuatro o más puertas, la potencia, si utiliza como combustible la gasolina, etc. El comportamiento se refiere a la posibilidad de desplazarse por una carretera, frenar, acelerar, cambiar de marcha, girar, etc.


"CLASES" 

Las clases son uno de los principales componentes de un lenguaje de programación, ya que en ellas ocurren todos los procesos lógicos del sistema y representan objetos del mundo real.

Se componen de 3  partes importantes:

 NOMBRE: contiene el nombre de la clase. 
 ATRIBUTOS: propiedades que caracterizan la clase.
 MÉTODOS: comportamiento u operaciones, de que forma interactúa esta clase con el entorno. 

Fig. 1


 "OBJETO"


 Los objetos representan una entidad concreta del mundo real, en programación se le conoce como la instancia de una clase, en sí, es lo que le da el sentido a estas. 

Támbien tienen 3 partes fundamentales:

ESTADO: representa los atributos o características con valores concretos del objeto.
COMPORTAMIENTO: se define por los métodos u operaciones que se pueden realizar con el.
IDENTIDAD: es la propiedad única que representa al  objeto y lo diferencia del resto. 

Constructores y creación de objetos.

Un constructor por defecto es un constructor sin parámetros que no hace nada. Sin embargo será invocado cada vez que se construya un objeto sin especificar ningún argumento, en cuyo caso el objeto será iniciado con los valores predeterminados por el sistema (los atributos numericos a ceros, los alfanumericos a nulos, y las referencias a objetos a null).

ej:  
  public SSuma() {}
  
Si se define un constructor con parámetros, el constructor por default se reemplaza por este, pero primero debemos declarar la clase con sus atributos.

ej:

 
 

El operador new crea un nuevo objeto, en este caso de la clase persona, y a continuación se invoca al constructor de la clase para realizar las operaciones de iniciación que estén programadas.
Ahora invocaremos al constructor con parámetros que se introducirán en el orden especificado en el constructor.

ej: 
Persona pers02 = new Persona("Pepe Pérez", 30, "Programador", 25000);
 
 
 Para ir finalizando este post, les sugiero revisar los siguientes video tutoriales para que quede más clara la información que hoy les entrego. 


y por último éste video. 
Ambos de Codigofacilito, un canal de youtube especialmente creado para ayudar a los estudiantes de programación 100% recomendable. 
Que lo disfruten y gracias por su atención.

QUE ES LA PROGRAMACIÓN ORIENTADA A OBJETOS

Antes de establecer los elementos del lenguaje, es necesario tener presentes los conceptos básicos de la programación orientada a objetos porque la sintaxis y el formato de Java están plenamente apegados a ellos.

Para empezar, todo parte del hecho de que el desarrollo de la programación de computadoras entró en crisis en los años 60 y 70 del s. XX porque las aplicaciones a menudo hacían cosas raras. Un caso es el del Centro de Cómputo Noruego en Oslo en el
que desarrollaban simuladores de vuelo; sucedía, cuando los ejecutaban, que las naves
colisionaban. Un análisis del problema probó que la aplicación confundía las características entre uno y otro objeto simulado; es decir, que la cantidad de combustible, la posición en el espacio o la velocidad de una nave eran atribuidas a otra.

Se concluyó que esto se debía al modo como programaban y que los lenguajes de entonces eran incapaces de resolver el problema. Ante esto, los expertos del Centro Noruego desarrollaron Simula 67 que fue el primer lenguaje orientado a objetos.

Así que la POO es una manera de diseñar y desarrollar software que trata de imitar la realidad tomando algunos conceptos esenciales de ella; el primero de éstos es, precisamente, el de objeto, cuyos rasgos son la identidad, el estado y el comportamiento. No debemos dejarnos intimidar por estas expresiones, son muy
simples:

La identidad es el nombre que distingue a un objeto de otro.

El estado son las características que lo describen.

El comportamiento es lo que puede hacer.

Se debe tener presente que los objetos, sean reales o su proyección en software, se abstraen en clases. Por ejemplo: de la clase perro pueden existir dos objetos Fido y Firuláis (esta es su identidad). Fido es un san bernardo enorme, pinto, de 5 años de edad; mientras que Firuláis es un labrador, negro, de 3 años (este es su estado).  Ambos perros ladran, merodean, juguetean, comen y duermen (este es su comportamiento).

Si nos pidieran que hiciéramos un programa orientado a objetos que simulara lo anterior haríamos la clase Perro que tendría las variables raza, color y edad, y los métodos ladrar(), merodear(), juguetear(), comer() y dormir(). 

Firuláis y Fido son los identificadores que podríamos usar en una aplicación que pretenda mostrar dos objetos de la clase Perro.

Otros conceptos de la POO son el de abstracción y el de encapsulamiento, que están muy ligados y tienen que ver con el diseño de programas. Ambos se refieren a que los objetos deben hacer tareas que les son propias y no de otros. Por lo común, los objetos de la realidad no dan problemas porque ya existen. No fue difícil abstraer la clase Perro ni encapsular su comportamiento porque existe en la realidad. Para llevar esto al ámbito del software analicemos el caso del programa Hola Mundo. Hagamos el proceso de abstracción para encapsular sus características y su comportamiento.

El primer Hola Mundo lo popularizó Brian Kernighan en los años 70 del siglo XX, en un libro que causó mucho interés en su tiempo y que escribió junto a Dennis Ritchie:

Hoy en día, es una tradición presentar los lenguajes con un programa de este tipo, que lo que debe hacer es mostrar la frase “Hola mundo” en la pantalla, y sirve para probar que el lenguaje está debidamente instalado y funcionando.

http://www.cursodejava.com.mx © 2009 http://www.bienprogramado.com/
http://www.tresct.com/

Entonces, abstrayendo esto, podemos decir que el comportamiento de los objetos del tipo Hola Mundo es mostrar un mensaje y su característica, el mensaje mismo.

Lo que sigue es mostrar cómo los elementos de lenguaje Java nos permiten apegarnos a la orientación a objetos; para eso es necesario conocer dichos elementos, pero antes, para finalizar, un breve resumen.

Hemos introducido cinco conceptos de la POO:

1. La identidad, que es el nombre que distingue a los objetos

2. El estado, que se refiere a sus características o atributos

3. El comportamiento, que indica los métodos que se deben programar para que
los objetos realicen acciones

4. La abstracción, que es el mecanismo mental para aislar su naturaleza

5. El encapsulamiento, que exige que sus características y métodos estén bien
definidos y no se confundan con los de otros