Está en la página 1de 5

Características del poo

Abstracción

Herencia

Encapsulamiento

polimorfismo

Relación: Asociaciones composición, Agregación

Herencia

Multiplicados

Elementos

Clases métodos sobre escritura, sobre carga

Atributos

Propiedades

Objetos mensajes

Interfaces

La característica de polimorfismo de la POO


Permite que las instancias de diferentes clases reaccionen de una forma particular al llamado de
una función. Por ejemplo, en una jerarquía de formas graficas (punto, línea, cuadro, rectángulo,
etc.), cada forma tiene una función >Draw responsable de contestar adecuadamente a peticiones
del trazo de esa forma.
El polimorfismo permite que las instancias de diferentes clases respondan a la misma función en
forma adecuada para cada clase.
Abstracción
Una clase es una abstracción que:

* Enfatiza las características relevantes

* Suprime otras características (simplificación)

La forma más sencilla de entender el concepto de clase es si la vemos como una agrupación de
objetos con características similares. Por ejemplo, un auto ES UN tipo particular de vehículo
motorizado, con lo cual dentro de su comportamiento podemos encontrar “arrancar” y “frenar”,
entre otros. Ahora bien, una motocicleta también ES UN vehículo motorizado, y tiene dentro de su
comportamiento “arrancar” y “frenar”. El conjunto de atributos también es compartido entre una
motocicleta y un automóvil, aunque sus valores no coincidan necesariamente. Por ejemplo, ambos
tienen el atributo “cantidad de ruedas”, sólo que el auto tiene 4 y la motocicleta 2.

La abstracción nos ayuda a trabajar con cosas complejas

El proceso de abstracción permite seleccionar las características relevantes dentro de un conjunto


e identificar comportamientos comunes para definir nuevos tipos de entidades en el mundo real. La
abstracción es clave en el proceso de análisis y diseño orientado a objetos, ya que mediante ella
podemos llegar a armar un conjunto de clases que permitan modelar la realidad o el problema que
se quiere atacar

Abstraction en programación Capacidad Para encapsular y aislar la information del diseño y


ejecución.

Veamos los diferentes tipos de abstracción que podemos encontrar en un programa:


1. Abstracción funcional: crear procedimientos y funciones e invocarlos mediante un nombre
donde se destaca qué hace la función y se ignora cómo lo hace. El usuario sólo necesita conocer
la especificación de la abstracción (el qué) y puede ignorar el resto de los detalles (el cómo).
2. Abstracción de datos:
• Tipo de datos: proporcionado por los leguajes de alto nivel. La representación usada es
invisible al programador, al cual solo se le permite ver las operaciones predefinidas para
cada tipo.
• Tipos definidos: por el programador que posibilitan la definición de valores de datos más
cercanos al problema que se pretende resolver.
• TDA: para la definición y representación de tipos de datos (valores + operaciones), junto
con sus propiedades.
• Objetos: Son TDA a los que se añade propiedades de reutilización y de compartición de
código.
HTTP://ES.WIKIPEDIA.ORG/WIKI/TIPO_DE_DATO_ABSTRACTOHERENCIA

. Herencia

Es una relación entre clases en la cual una clase comparte la estructura y comportamiento definido
en otra clase. El propósito principal de la herencia es el de organizar mejor las clases que
componen una determinada realidad, y poder agruparlas en función de atributos y
comportamientos comunes a la vez que cada una se especializa según sus particularidades.

Encapsulamiento

Principio que establece que los atributos propios de un objeto no deben ser visibles desde otros
objetos. Permite abstraer al resto del mundo de la complejidad de la implementación internaOtro de
los pilares de la orientación a objetos es el encapsulamiento. Para entender este principio veamos
un ejemplo práctico:

Ejemplo: Como todos ustedes se imaginarán, no es necesario ser mecánico de automóviles para
poder manejar uno. Si el comprender cómo es el funcionamiento interno del motor, la dirección, los
frenos, los cilindros, etc. fuera requisito para poder manejar un automóvil, serían muchos menos
los conductores certificados y sería mucho más difícil aprender a manejar

● Miembros privados y públicos


● Interfaz pública de una clase:
● Miembros públicos (datos y métodos)
● Se pueden invocar desde fuera de la clase
● Objetos:
● Polimorfismo
● Es la propiedad que tienen los objetos de permitir invocar genéricamente un
comportamiento (método) cuya implementación será delegada al objeto correspondiente
recién en tiempo de ejecución, El polimorfismo tiende a existir en las relaciones de
herencia, pero no siempre es así

Relaciones

Existen dos tipos principales de relaciones

Asociación

Una asociación es una conexión entre dos clases que representa una comunicación

Una asociación puede tener nombre, La comunicación puede ser tanto uni como bi-direccional (por
defecto)

Ejemplo:

Una Persona es Dueña de un Vehículo

Un Vehículo Pertenece a una Persona

Agregación

La agregación es una forma especial de asociación donde un todo se relaciona con sus partes

También se conoce como “una parte de” o una relación de contención

Ejemplo:

Una Puerta es una parte de un Vehículo

El Vehículo es azul, la Puerta es Azul

Mover el Vehículo implica mover la Puerta

. Existen tres niveles de acceso:

• público: funciones de toda clase pueden acceder a los datos o métodos de una clase que se
define con el nivel de acceso público. Este es el nivel de protección de datos más bajo

• protegido: el acceso a los datos está restringido a las funciones de clases heredadas, es decir, las
funciones miembro de esa clase y todas las subclases

• privado: el acceso a los datos está restringido a los métodos de esa clase en particular. Este es
nivel más alto de protección de datos
HTTP://ES.KIOSKEA.NET/CONTENTS/POO/ENCAPSUL.PHP3

Interfaces
Diseño soportado por los lenguajes orientados a objetos que permite definir comportamiento
también, Permite que clases que no están estrechamente relacionadas entre sí deban tener el
mismo comportamiento

CLASES

La forma más sencilla de entender el concepto de clase es si la vemos como una agrupación de
objetos con características similares. Por ejemplo, un auto ES UN tipo particular de vehículo
motorizado, con lo cual dentro de su comportamiento podemos encontrar “arrancar” y “frenar”,
entre otros. Ahora bien, una motocicleta también ES UN vehículo motorizado, y tiene dentro de su
comportamiento “arrancar” y “frenar”. El conjunto de atributos también es compartido entre una
motocicleta y un automóvil, aunque sus valores no coincidan necesariamente. Por ejemplo, ambos
tienen el atributo “cantidad de ruedas”, sólo que el auto tiene 4 y la motocicleta 2.
HTTP://WWW.MSLATAM.COM/LATAM/MSDN/COMUNIDAD/DCE2005/

El concepto de clases

Una clase es la estructura de un objeto, es decir, la definición de todos los elementos de que está
hecho un objeto. Un objeto es, por lo tanto, el "resultado" de una clase. En realidad, un objeto es
una instancia de una clase, por lo que se pueden intercambiar los términos objeto o instancia (o
incluso evento).
Una clase se compone de dos partes:

• Atributos (denominados, por lo general, datos miembros): esto es, los datos que se
refieren al estado del objeto
• Métodos (denominados, por lo general, funciones miembros): son funciones que pueden
aplicarse a objetos

Si tenemos una clase llamada auto, los objetos Peugeot y Renault serán instancias de esa clase.
También puede haber otros objetos Peugeot 406, diferenciados por su número de modelo.
Asimismo, dos instancias de una clase pueden tener los mismos atributos, pero considerarse
objetos distintos independientes. En un contexto real: dos camisas pueden ser idénticas, pero no
obstante, también ser diferentes de alguna manera. Sin embargo, si las mezclamos es imposible
distinguir una de la otra.

¿Los objetos son objetos?

● Los objetos de programación NO son objetos materiales


● Inicialmente los objetos se inventaron para estructurar programas de simulación flujo
viales: un auto, un peatón, una calle, un semáforo, ...

Actualmente se usan para estructurar objetos materiales, servicios, conceptos, Ejemplos de


objetos
● Una estructura algebraica (ej. un grupo)
● Un ámbito de trabajo (ej. colores)

http://thefricky.wordpress.com/2007/12/28/programacion-orientada-a-objetos-caracteristicas-de-la-
poo/

http://www.itapizaco.edu.mx/paginas/Poo/Tutorial/unidad1sub7.html