Características del poo

6
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)

Transcript of Características del poo

Page 1: Características del poo

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

Page 2: Características del poo

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

Page 3: Características del poo

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

Page 4: Características del poo

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

Page 5: Características del poo

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