La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

1 Francisco Montoya González Programación Programación Orientada a Objetos.

Presentaciones similares


Presentación del tema: "1 Francisco Montoya González Programación Programación Orientada a Objetos."— Transcripción de la presentación:

1 1 Francisco Montoya González Programación Programación Orientada a Objetos

2 2 Ventajas del paradigma Orientado a Objetos Gestionar la complejidad. Facilita la reutilización de modelos ya existentes. Ofrece mecanismos de abstracción permitiendo modelar un sistema a diferentes niveles y utilizar el mismo formalismo en diferentes etapas del ciclo de vida de este sistema. Producir modelos fáciles de leer y validar autorizando la descripción de interfaces de alto nivel entre componentes.

3 3 Desventajas del paradigma Orientado a Objetos La curva de aprendizaje requiere educación y entrenamiento constante. La tecnología está en continua evolución. La gente necesita tiempo para cambiar de paradigma. La gente no desea cambiar porque todavía cree en el paradigma estructurado.

4 4

5 5 Los tipos abstractos de datos o los TADS. Los tipos de datos Valores: Datos o grupos de datos manipulados en un proceso. Escalares: compuestos por un solo item. Agregados: Compuestos por varios items. Tipo de datos: Conjunto de valores a los que se le asocia una forma especifica de almacenamiento y sobre los cuales se pueden efectuar un conjunto de operaciones. Nativos: Tipos predefinidos en los lenguajes. Definidos por el usuario: los que define en programador.

6 6 Abstracción Es un mecanismo de la mente humana fundamentalmente para la comprensión de fenómenos o situaciones que involucran una gran cantidad de detalles. Abstraer es, por lo tanto, un proceso mental que tiene dos aspectos: Destacar los detalles relevantes del objeto en estudio. Ignorar los detalles irrelevantes del objeto. Se entienden irrelevantes en ese nivel de abstracción. Si descendemos de nivel, es probable que algunos de estos detalles pasen a ser relevantes. La abstracción permite representar fenómenos complejos siguiendo un metodo jerárquico, es decir, por sucesivos niveles de detalle.

7 7 Tipos abstractos Valor o valores y operaciones asociadas a los mismos que se definen mediante una especificación que es independiente de cualquier representación. El calificativo de abstracto expresa precisamente esta cualidad de independencia de la representación. Para definir un nuevos tipo, el programador debería comenzar por decidir que valores y despues que operaciones le parecen relevantes y útiles para operar con ellos. Es decir, debería comenzar por establecer la interfaz que van a tener los usuarios con dicho tipo.

8 8

9 9 Las clases Conjunto de objetos que comparten: Las misma propiedades (atributos). El mismo comportamiento (métodos). Las misma relaciones con otros objetos (mensajes). La misma semántica dentro del sistema. Las clases encapsulan los atributos y las operaciones sobre los mismos. Esto trae las siguientes ventajas: Proteccion de los datos de accesos indebidos Disminucion del acoplamiento entre clases Se favorece la modularidad y el mantenimiento Los atributos de una clase no deben ser manipulables directamente por el resto de objetos Una clase es un molde para construir objetos.

10 10 Declarando una clase C++ class nombreClase { private: datos o metodos privados protected: datos o metodos privados public: datos o metodos privados } instacia Tenga en cuenta que al momento de crear una clase, la creacion de instancias de la clase es opcional.

11 11 Visibilidad de los miembros de una clase Las palabras private, protected y public son opcionales. Por defectos todos los miembros de una clase son privados a menos que se indique lo contrario. Estas declaraciones se pueden colocar en cuaquier orden. Privados (private): Solo pueden ser accedidos por una funcion miembro, de la propia clase. Protegidos (protected): Se pueden acceder por funciones declaradas por esa clase, por cualquier clase que herede de ella. Publicos (public): Permite el acceso a la clase desde funciones externas.

12 12 Clases: Notación Gráfica Cada clase se representa en un rectángulo con tres compartimientos: nombre de la clase atributos de la clase operaciones de la clase

13 13 Clases: Notación Gráfica Otros ejemplos: Circulo? Cuenta bancaria? Fecha?

14 14 Ejemplo. Clase Fecha class fecha { private: int mes; int dia; int anho; public: Fecha(int = 7, int = 4, int = 2008); void estFecha(int, int, int); void mostrarFecha(void); }; Fecha::Fecha(int mm, int dd, int aaaa) { mes = mm; dia = dd; anho = aaaa; } Void Fecha::estFecha(int mm, int dd, int aaaa) { mes = mm; dia = dd; anho = aaaa; } Void Fecha::mostrarFecha(void) { cout<

15 15 Objetos Un objeto es la instancia de una clase o categoría y se diferencian entre ellos por los valores de sus atributo (variables).

16 16 Bibliografía p Bronson, Gary J. C++ para ingeniería y ciencias. Ed. Thomson, p Larma, Craig. UML y patrones: Introducción al análisis y diseño orientado a objetos. Ed. Prentice Hall, p Joyanes Aguilar, Luis. Programación Orientada a Objetos: Concepto, modelado, diseño y condificación en C++. McGraw- Hill p Rumbaugh, James y otros. Object-Oriented Modeling and Design. Prentice Hall p Booch, Grady. Análisis y Diseño Orientado a Objetos con Aplicaciones. Addison Wesley. 2 edición


Descargar ppt "1 Francisco Montoya González Programación Programación Orientada a Objetos."

Presentaciones similares


Anuncios Google