190 likes | 463 Views
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.
E N D
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.
Objeto Un 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 • Comportamientorepresenta la definición del comportamiento del objeto, las acciones que éste puede realizar. • Estadorepresenta la definición de atributos internos del objeto, sus características.
Elementos de la Poo Abstracció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 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 Clase Base 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 Clases Derivadas o subclases
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
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 1Lenguajes 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.
Orientación a objetos pura referencias a b a Creación del objeto: a y b b
Beneficios de la Poo 1 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 realidad 6.Mejor independencia e interoperatividad de la tecnología 7. Mejor informática distribuida y cliente-servidor 8. 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.
Modularidad Todos 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 cerradosal mismo tiempo. Cerrado: terminado, en consecuencia útil o activo desde dentro de otros módulos. Abiertos: poder ser sometido a cambios y modificaciones