Programación orientada a objetos

Preview:

DESCRIPTION

Programación orientada a objetos. La programación orientada a objetos es un paradigma de la programación, es una forma de programar moderna ampliamente utilizada en el mundo y con muchas ventajas. Es una técnica cuyo soporte principal es el objeto. Facilidad para mantenimiento. - PowerPoint PPT Presentation

Citation preview

Programación orientada a objetos

La programación orientada a objetos es un paradigma de la programación, es una forma de programar moderna ampliamente utilizada en el mundo y con muchas ventajas. Es una técnica cuyo soporte principal es el objeto.

• Facilidad para mantenimiento.• Facilidad de modificación.• Reusabilidad.• Fiabilidad.

ObjetoUn objeto es una abstracción de la realidad que tiene un significado concreto y claro para el problema que se está modelando.

- Identidad Cada objeto tiene una identidad única, incluso si su estado es idéntico al de otro objeto

- Comportamiento representa la definición del comportamiento del objeto, las acciones que éste puede realizar.

- Estado representa la definición de atributos internos del objeto, sus características.

Ejemplos de objetos

Elementos de la PooAbstracción: El proceso de abstracción permite seleccionar las características relevantes dentro de un conjunto de objetos e identificar comportamientos comunes para definir nuevos tipos de entidades en el mundo real.

Encapsulación: Es el proceso de agrupar datos y operaciones relacionadas bajo la misma unidad de programación. En el caso de que los objetos posean las mismas características y comportamiento se agrupan en clases (unidades o módulos de programación que encapsulan datos y operaciones).

Elementos de la Poo: Abstracción

Cámara de seguridad: colgada en la pared, capta quien entra y quien sale de una residencia, bar, hotel, etc.

Cámara digital: para utilizarlas con las manos, capturar imágenes con la familia, amigos, etc.

Cámara de tv: utilizarlas con las manos y/o una base, para grabar programas de tv.

Elementos de la Poo: Encapsulación

Camara -marca -Modelo-serial+encender()+apagar()+tomarFoto()+grabar()

Modificadores de acceso:

Privados: pueden ser accedidos solo desde la misma clase, se representan con el signo: -

Públicos: pueden accedidos desde el exterior, desde otras clases, se representan con el signo: +

Protegidos: pueden ser accedidos desde las subclases, se representan con el signo: #

Elementos de la Poo

Herencia: Es una relación entre clases en la cual una clase comparte la estructura y comportamiento definido en otra clase.• Cada clase que hereda de otra

posee:– Los atributos de la clase base

además de los propios– Soporta todos o algunos de los

métodos de la clase base• Una subclase hereda de una clase

base

Clase Base

Clases Derivadas o

subclases

+Avanzar()+Detenerse()

-pasajeros

Transporte

Automóvil Avión

Elementos de la Poo

Polimorfismo: cuando varios objetos de distintas clases pueden responder al mismo mensaje (método), aun realizando cosas distintas se denomina polimorfismo.

• La definición del método reside en la clase base• La implementación del método reside en la clase

derivada• La invocación es resuelta al momento de

ejecución

Animal PesoTamanoMover()Morder()

Pez

PesoTamanoMover()Morder()

PolloPeso

TamanoMover()Morder()

Elementos de la Poo: Polimorfismo

Elementos de la Poo: PolimorfismoElementoCasero

Peso

Color

LanzarPared()

Lenguajes orientados a objetos

El primer lenguaje de programación que introdujo el concepto de clase fue Simula 67, introdujo el concepto de herencia.

Durante la década del 80 aparecen algunos lenguajes de programación con soporte para orientación a objetos:

Smalltalk 80, Eiffel, C++, Objetive C, Object Pascal, Clipper 5-2

Clasificación de los lenguajes OO

1 Lenguajes orientados a objetos puros: Soportan en su totalidad el paradigma orientado a objetos, los datos numéricos, lógicos y cadena son tomados como referencias y objetos . como : Smallalk, Eiffel, Simula.

2 Lenguajes orientados a objetos híbridos: Soportan en su totalidad el paradigma orientado a objetos sobre un lenguaje hibrido: C++, Object Cobol, Object Pascal.

Memoria Ram

Clases Objetosab

referencias

5 25a

8 64bOperacion

X: numerico

Z: numerico

Tomar(k: numerico)

Cuadrado(j: numerico)

Creación del objeto: a y b

Operacion

Orientación a objetos pura

Beneficios de la Poo1 reutilización. Las clases se construyen a partir de otras 2. Sistemas mas fiables 3. Proceso de desarrollo mas rápido 4. Desarrollo mas flexible 5. Modelos que reflejan mejor la realidad6.Mejor independencia e interoperatividad de la tecnología7. Mejor informática distribuida y cliente-servidor8. Bibliotecas de clases comerciales disponibles

Modularidad

La modularización es el proceso de dividir un programa en módulos que se pueden compilar separadamente, pero que tienen conexiones con otros módulos.

En consecuencia la modularidad es la posibilidad de subdividir una aplicación en piezas mas pequeñas, cada una de las cuales debe ser tan independiente como sea posible, considerando la aplicación como un todo.

Modularidad

En C++ los módulos son archivos compilados separadamente aunque la representación ideal es en C++ es la clase.

La practica tradicional en C/C++ es situar interfaces del modulo en archivos del modulo en archivos cuyos nombres contienen el sufijo .h (archivos de cabecera), las implementaciones del modulo se sitúan en un archivo cuyo nombre tiene el sufijo .c.

ModularidadTodos los módulos deben seguir el principio de ocultación de la información.

Un criterio formulado por Bertrand Meyer es el principio de que los módulos deben ser abiertos y cerrados al mismo tiempo.

Cerrado: terminado, en consecuencia útil o activo desde dentro de otros módulos.Abiertos: poder ser sometido a cambios y modificaciones

Recommended