1 / 16

Francisco Montoya González Programación

Francisco Montoya González Programación. Programación Orientada a Objetos. Ventajas del paradigma Orientado a Objetos. Gestionar la complejidad. Facilita la reutilización de modelos ya existentes.

dusty
Download Presentation

Francisco Montoya González Programación

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

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

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

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

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

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

  11. Clases: Notación Gráfica • Otros ejemplos: • Circulo? • Cuenta bancaria? • Fecha?

  12. 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<<“La fecha es ”<< cout<<mes<<“/”<<dia<<“/”<<anho; }

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

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

More Related