Caracteristicas de POO

 
  

   

*      Encapsulación:

Significa que en una clase se declaran los tipos de datos y el medio de  manipularlos (sus métodos)”. 2

En el ejemplo anterior, el objeto silla encapsula datos (los valores de los atributos que encapsulan la silla), operaciones, constantes y otra información relacionada,” es decir, el encapsulamiento significa que toda esta información se encuentra empaquetada bajo un nombre y puede reutilizarse como una especificación o componente de programa”.[4]

 

*     Herencia:

 

“La herencia supone crear clases derivadas de otras existentes, que heredan sus tipos y métodos y pueden contener otros nuevos. Si una nueva clase hereda propiedades de más de una antecesora, se denomina herencia múltiple; no todos los lenguajes orientados a objetos lo permiten”.2

También, “permite el acceso automático de la información contenida en otras clases”1, por ello las clases deben estar organizada jerárquicamente.

En el ejemplo el objeto silla hereda los atributos y operaciones de la clase.

  

*     Polimorfismo:

 

Es una característica que reduce en gran medida el esfuerzo necesario para extender un sistema OO. “Facilita la programación de funciones o procedimientos que ejecutarán acciones que dependerán de los objetos sobre los que se apliquen; por ejemplo, aumentar el tamaño de un objeto, independientemente de su forma”.[2]

También, Hace referencia a los métodos heredados de la superclase y que son ejecutados por las subclases de diferente manera.

 

 *     Abstracción

Por medio de la abstracción conseguimos no detenernos en los detalles concretos de las cosas que no interesen en cada momento, si no generalizar y centrarse en los aspectos que permitan tener una visión global del problema. Por ejemplo, el estudio de un ordenador podemos realizarlo a nivel de funcionamiento de sus circuitos electrónicos, en términos de corriente, tensión, o nivel de transferencia entre registros, centrándose asi en el flujo de información entre las unidades que lo componen (memoria, unidad aritmética, unidad de control, entre otros, sin importarnos el comportamiento de los circuitos electrónicos que componen estas unidades”.[1]

Infografia de POO

INFOGRAFIA

1.  Libro: Java 2, Curso de Programación

Autor: Javier Ceballos Sierra

Edición: Segunda, RA_MA, Madrid España.

2.  Microsoft ® Encarta ® 2008. © 1993-2007 Microsoft Corporation. Reservados todos los derechos.

3. http://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n_Java

4.  Libro : Ingeniería de Software, Un enfoque práctico

Autor: Roger S. Pressman

Edición: Interamericana de España 2003 Quinta Edición

Elementos de POO

 

*      Clases

“Es un concepto OO para exhibir diferentes procedimientos que se requieren para describir el contenido y comportamiento de alguna entidad del mundo real. También se puede definir como una descripción generalizada (por ejemplo una plantilla, un patrón o un prototipo) que describe una colección de datos similares”.[4]

  Puede existir una jerarquía de clases, como por ejemplo esta situación del dominio real:

 

*      Objetos

“Un objeto puede verse como un paquete que contiene el “comportamiento” (el código) y el “estado” (datos). En este sentido, los objetos podrían verse como piezas reutilizables que pueden  emplearse en múltiples proyectos distintos, posibilitando así a la industria del software a construir proyectos de envergadura empleando componentes ya existentes y de comprobada calidad; conduciendo esto finalmente a una reducción drástica del tiempo de desarrollo. Podemos usar como ejemplo de objeto el aluminio. Una vez definidos datos (peso, maleabilidad, etc.), y su “comportamiento” (soldar dos piezas, etc.), el objeto “aluminio” puede ser reutilizado en el campo de la construcción, del automóvil, de la aviación, etc”.[3]

“un objeto es una instancia de una clase, que se puede usar como una variable en un programa; es decir, la creación de una instancia de una clase se corresponde con la declaración de una variable en la programación tradicional, pero refiriéndose a objetos”.2 

     Como en el gráfico anterior se observa un ejemplo de un objeto, es un miembro o instancia de una clase más grande de objetos que se llama Mobiliario.

ç*      Atributos

Describen la clase o el objeto de alguna manera, son características como en el ejemplo (costos, dimensiones, peso, localización y color).

Los valores asignados a los atributos de un objeto hacen a ese objeto ser único. [4]

 

*      Mensajes

Los mensajes son el medio a través del cual interactúan los objetos, es decir un mensaje estimula la ocurrencia de cierto comportamiento en el objeto receptor. El comportamiento se realiza cuando se ejecuta una operación.[4]

 

 *      Operaciones, métodos o servicios

Son las acciones que se aplican para cambiar los atributos de el objeto o como en el ejemplo la silla.

“Un objeto encapsula datos (representados como una colección de atributos) y los algoritmos que procesan esos datos. Estos algoritmos son llamados operaciones, métodos o servicios”.[4]

“Siempre que un objeto es estimulado por un mensaje, inicia algún comportamiento ejecutando una operación”.[4]

Retomando el ejemplo anterior los métodos (Operaciones o servicios), modificaran uno o más atributos del objeto (mover, pesar, entre otros)

 

 

 

 

 

 

 

 

 
 
 
 
 
 
 
 

 

 

 

 

 

 

 

 

 

 

  

 

 

 

 

 

 

 

 

 

 

 

 

¿Que es Programación Orientada a Objetos?

 

PROGRAMACIÓN ORIENTADA A OBJETOS

CONCEPTO:

*      “Es un modelo de programación que utiliza objetos, ligados mediante mensajes, para la solución de problemas. Puede considerarse como una extensión natural de la programación estructurada de potenciar conceptos de modularidad y reutilización del código”. [1]

*      “Es un método de programación en el que un programa se contempla como un conjunto de objetos limitados que, a su vez, son colecciones independientes de estructuras de datos y rutinas que interactúan con otros objetos, o que dan acceso para modificar el contenido de un dato o propiedad del propio objeto. También se identifica con las siglas POO y OOP (del inglés Object Oriented Programming)”.[2]

*      En cuanto a la funcionalidad y la metodología interna, la programación orientada a objetos se fundamenta en la encapsulación, la herencia y el polimorfismo.

*      “Aunque hay muchas interpretaciones para OO, una primera idea es diseñar el software de forma que los distintos tipos de datos que use estén unidos a sus operaciones. Así, los datos y el código (funciones o métodos) se combinan en entidades llamadas objetos. [3]

*      Una de las primeras cosas a tener en cuenta a la hora de construir un sistema OO es cómo clasificar los objetos o manipular en dicho sistema.