200 likes | 352 Views
Mtra. Verónica Gutiérrez Ocampo. Unidad I. Fundamentos de la Programación Orientada a Objetos. Programación orientada a objetos . Idea general. La POO consiste en definir objetos Cada objeto consta de una serie de propiedades (variables) y de una serie de métodos (funciones)
E N D
Mtra. Verónica Gutiérrez Ocampo Unidad I. Fundamentos de la Programación Orientada a Objetos
Programación orientada a objetos. Idea general • La POO consiste en definir objetos • Cada objeto consta de una serie de propiedades (variables) y de una serie de métodos (funciones) • El código se reparte entre los objetos
Programación orientada a objetos. Clases y objetos • Clase: Plantilla de los objetos. Identifican tipos de objetos • Objeto: Una instancia particular de una clase • Mensajes: Comunicación entre un objeto y otro. En realidad son llamadas a procedimientos o variables públicas del objeto
Programación orientada a objetos. Propiedades • Encapsulamiento: El hecho de integrar en el objeto tanto métodos como propiedades • Ocultación: Hay métodos y propiedades públicos y métodos y propiedades privados • Herencia: Las clases pueden heredarse de otras previas • Polimorfismo: El mismo método puede estar presente en varios objetos y su significado ser distinto
Programación orientada a objetos. Creación de programas • Todo es un objeto • Un programa es un conjunto de objetos que se comunican • Todo objeto posee una clase • Todos los objetos de una clase reciben los mismos mensajes
Programación orientada a objetos. Creación de programas • Escribir en papel lo que queremos hacer de forma directa • Identificar las clases y objetos • Identificar las relaciones entre las clases (mensajes) • Identificar las propiedades y estados de los objetos • Identificar la secuencia correcta de mensajes • Estudiar cada clase e intentar definir su código de forma independiente • Definir el código de inicio de la aplicación
Programación orientada a objetos. Lenguajes • A partir de la idea de esta programación aparecen lenguajes más o menos implicados con esta idea • El primer lenguaje que incorporó esta idea fue Simula 67 • Poco a poco incluso los lenguajes clásicos se han adaptado a esta idea
Metodologías. UML • UML = Unified modelling language, lenguaje de modelado universal • No es una metodología completa (una metodología completa indica los pasos a realizar durante el desarrollo del software) • Es una notación, una forma de expresar modelos informáticos • Es un estándar de facto para diseñar aplicaciones orientadas a objetos • Se basa en diagramas que pueden servir tanto al diseñador como al cliente.
Metodologías. UML. Clases • Clase: Descripción de una serie de objetos con propiedades, métodos, relaciones y semántica muy parecida • Representación: Nombre Atributos Métodos Responsabilidades
Metodologías. UML. Clases • Nombre: Nombre de la clase • Atributos: Datos que definen las propiedades de la clase. • Métodos: Capacidades que puede realizar la clase. Pueden devolver datos y pueden requerir datos para su uso • Responsabilidades: Opcional. Indica para qué se utiliza la clase
Metodologías. UML. Clases. Ejemplo Coche marca:String modelo:String matricula:String color:String kilómetros:int velocidad:int acelerar(cantidad:int) frenar(cantidad:int) arrancar() obtenerVelocidad():int Transporta gente Consume gasolina
Metodologías. UML. Objeto • Objeto: Elemento con significado concreto en una aplicación • Representación: Coche19:Coche
Metodologías. UML • Paquete: Estructura que sirve para agrupar clases • Pueden agrupar otros paquetes • Representación: Nombre Clase1 Clase2
Metodologías. UML. Diagramas • En UML hay varios tipos de diagramas que modelizan las clases y objetos • En total hay 12 diagramas • Cuatro representan la estructura estática • Cinco el comportamiento dinámico • Tres se refieren a la organización modular
Ordenador Programador Identificador:texto; Modelo:texto; Velocidad:entero Nombre:texto; 1..* 0..* Metodologías. UML. Diagrama de clases. Relación Maneja Nombre de la asociación
Metodologías. UML. Diagrama de clases. Agregación Matriculado en Matriculado en Asignatura Alumno 1..* 1..11 1..6 Imparte 1..2 Profesor
Polígono Punto Regular:lógico; X:entero; Y:entero; Borrar() Mover(p:Punto) Rellenar(c:color) Mover(despl_x, despl_y:entero) Mover(p:Punto) 3..* Representa un polígono en el espacio Representa un punto en el espacio Metodologías. UML. Diagrama de clases. Composición/Agregación Expresa una relación todo/parte. El punto es parte del polígono
Automóvil Motocicleta Metodologías. UML. Diagrama de clases. Generalización
Metodologías. UML. Diagrama de clases. Generalización Trabajador Encargado Administrativo Peón