Programación Orientada a Objetos

Slides:



Advertisements
Presentaciones similares
IBD Plan 90 y 2003 Clase 10.
Advertisements

Fundamentos de Diseño de Software INFT.1
Lenguaje Unificado de Modelado
POLIMORFISMO UNIDAD 4.
Fundamentos de la programación orientada a objetos
Lenguaje de programación Java
UML 1.4 Peter Emerson Pinchao Solis.
Arquitectura CLARO-TECNOTREE
Introducción a la Orientación a Objetos
Introducción 1 Puntos Clave –La orientación a objetos representa un cambio radical en los métodos tradicionales de creación de software –Los métodos tradicionales.
La Programación Orientado a Objetos
Tipo de Dato Abstracto Tipos de datos:
75.41 Algoritmos y Programación II Cátedra Ing. Patricia Calvo Programación Orientada a Objetos Encapsulamiento.
GENERACIONES DE LENGUAJES DE PROGRAMACIÓN
UNIVERSIDAD LATINA (UNILA) ENCAPSULACION Y HERENCIA
Aplicación del paradigma orientado a objetos
DIAGRAMAS DE CLASES Completando los diagramas de interacción, es posible identificar la especificación de las clases que participarán en la solución indicando.
Encapsulamiento y Abstracción
DIAGRAMA DE CLASE.
PROGRAMACIÓN EN JAVA Curso-taller inicial de programación en JAVA Facultad de Estadística e Informática TEMA II.
Programación Orientada a Objetos usando C++
PROGRAMACION ORIENTADA A OBJETOS
Lic. Rosemary Torrico Bascopé
UNIVERSIDAD TECNOLÓGICA DE HERMOSILLO T.S.U. EN T.I.C., Área: Sistemas Informáticos Ing. José Padilla Duarte y estudiantes de Sistemas Informáticos Hermosillo,
Abstracción de los datos y Orientación a Objeto Clase 13.
Introducción a clases Programación Orientada a Objetos.
PROGRAMACIÓN ORIENTADA A OBJETOS
Clases y objetos La unidad fundamental de programación OO son las clases. Conjunto de métodos y semántica Qué se va a hacer POO Clase: que define la implementación.
Material Original de Microsoft para desarrolladores adaptado por Jorge Miguel PERALTA para clases de Informática Aplicada (Haga clic para adelantar/atrasar.
Universidad Autónoma del Estado de Hidalgo Instituto de Ciencias Básicas e Ingeniería Área Académica de Computación y Electrónica Licenciatura en Ciencias.
Introducción a la programación Orientada a objetos
 2003 Prentice Hall, Inc. All rights reserved. 1 Capítulo 6: Clases y Abstracción de Datos Índice del capítulo 6.1 Introducción 6.2 Estructuras 6.3 Clases.
UNIDAD 2 CLASES Y OBJETOS. CLASE Elementos cabecera y cuerpo de la clase. Cabecera: aporta información fundamental sobre la clase en sí y constituye de.
Ingeniería de Software
Programación Orientada a Aspectos (POA)

Introducción a la POO • ¿Qué es la programación orientada a objets (POO)? – Un “paradigma” de programación – Una forma de pensar acerca de los problemas.
Bases de Datos Orientadas a Objetos (BDOO)
Contenido: 1- Que es el .Net Framework 2- Arquitectura en .Net
Metodología de Programación Ayudantía 5 lelagos.ublog.cl 2009.
INSTITUTO TECNOLOGICO DE MINATITLAN ASIGNATURA: FUNDAMENTOS DE PROGRAMACION DOCENTE: JOSE ANGEL TOLEDO ALVAREZ ALUMNA: ALEJANDRA OSORIO ARVISU SEMESTRE:
Programación Orientada a Objetos
Introducción a UML DIAGRAMA DE CLASES Departamento de Informática
Facultad de Ingeniería
TEMA 9: DIAGRAMA DE CLASE EN UML
Programación Orientada a Objeto
PROGRAMACION ORIENTADA A OBJETOS
Introducción a la Programación Orientada a Objetos (POO)
Paradigma Orientada a Objetos
UML Casos de Uso (repaso) y Diagramas de Clase
UNIVERSIDAD TECNICA DE BABAHOYO EXTENSION DE QUEVEDO  Espinales Lisseth G RUPO N º 2 Temas:  Herencia  Polimorfismo  Encapsulamiento  2 Ejemplos Estudiante.
Conceptos. -Programación orientada a eventos. -Instancias de clase. -Atributo de los objetos. -Método main, get y set. -Ejemplo de la declaración de.
Universidad Tecnológica de Izúcar de Matamoros Programa Educativo: Tecnologías de la Información Asignatura: Base de datos para aplicaciones Tema: Base.
FUNDAMENTOS DE PROGRAMACION
Ing. Johanna Macias Algoritmo, Estructura y Programación III.
Tipo de relación entre clases Es uno de los aspectos que distinguen el paradigma de orientación a objetos frente a otros paradigmas. Mecanismo que,
Programación Orientada a Objetos: CLASES Y OBJETOS
Programación Orientada Objetos
La Programación Orientado a Objetos
Diagrama de Clases.
PRESENTACION DE INGENIERIA ORIENTADA A OBJETOS
Fundamentos de Ingeniería de Software
Herencias Conceptos básicos i
Programación orientada a objetos La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa objetos.
Programación Orientada a Objetos Unidad 5. Los objetos son entidades que combinan estado Contiene toda la información denominados atributos REPASO Cada.
2015-BM5A. Introducción Durante años, los programadores se han dedicado a construir aplicaciones muy parecidas que resolvían una y otra vez los mismos.
Modelado UML Diagrama de Clases
:: Prof. Yeniffer Peña Introducción a JAVA Presentación Programación I.
Programación I Clases. Paradigma POO La programación Orientada a objetos (POO) es una forma programar, más cercana a como expresaríamos las cosas en la.
PROGRAMACION ORIENTADA A OBJETOS
Transcripción de la presentación:

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

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.

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.

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.

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.

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.

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.

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

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.

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 - Un atributo es semánticamente equivalente a una composición (composite aggreation). La sintaxis por defecto para los atributos es: visibilidad nombre [multiplicidad] : tipo = valor-inicial {propiedades} - tipo es una especificación dependiente del lenguaje de implementación - Para indicar que un atributo es constante se puede poner la propiedad frozen - Ejemplos usando multiplicidad: colores [3]: Color puntos [2..*]: Punto nombre [0..1]: String - Un atributo de clase (del ámbito de clase y no de objeto) se indica subrayándolo

Clases: Notación Gráfica Otros ejemplos: Circulo? Cuenta bancaria? Fecha? - Una operación es un servicio que una instancia de la clase puede realizar. La sintaxis por defecto es: visibilidad nombre (parámetros) : tipo-devuelto {propiedades} Una operación que no modifica el estado del objeto es especificada con la propiedad query. La propiedad abstract se usa para indicar que el método de la operación es implementado en una subclase. Una operación de clase (del ámbito de clase y no de objeto) puede indicarse subrayando dicha operación - Los parámetros se especifican usando la siguiente sintaxis: io nombre : tipo = valor_por_defecto donde io puede ser in, out o inout

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) Void Fecha::mostrarFecha(void) { cout<<“La fecha es ”<< cout<<mes<<“/”<<dia<<“/”<<anho;

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

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.