17
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.

Programación orientada a objetos

  • Upload
    pakuna

  • View
    47

  • Download
    2

Embed Size (px)

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

Page 1: Programación orientada a objetos

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.

Page 2: Programación orientada a objetos

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.

Page 3: Programación orientada a objetos

Ejemplos de objetos

Page 4: Programación orientada a 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).

Page 5: Programación orientada a objetos

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.

Page 6: Programación orientada a objetos

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: #

Page 7: Programación orientada a objetos

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

Page 8: Programación orientada a objetos

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

Page 9: Programación orientada a objetos

Animal PesoTamanoMover()Morder()

Pez

PesoTamanoMover()Morder()

PolloPeso

TamanoMover()Morder()

Elementos de la Poo: Polimorfismo

Page 10: Programación orientada a objetos

Elementos de la Poo: PolimorfismoElementoCasero

Peso

Color

LanzarPared()

Page 11: Programación orientada a objetos

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

Page 12: Programación orientada a objetos

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.

Page 13: Programación orientada a objetos

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

Page 14: Programación orientada a objetos

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

Page 15: Programación orientada a objetos

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.

Page 16: Programación orientada a objetos

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.

Page 17: Programación orientada a objetos

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