POO
Origen y Conceptos
Objeto
ClaseUML
Características
Programación Orientada a Objeto (POO)
Programación Orientada a Objeto (POO)
•Debido a su influencia se convirtió en un de un paradigma de programación dominante a mediado de los 80’s
C++
•Se creó en los años 70
Nacimiento
•SmallTalk
•C++
•Java
•C#
Lenguajes predecesores
•Desarrollado por Krysten Nygaard y Ole Johan Dahl
•Fue creado a mediados de los años 60 en el centro de computación Noruego
•Fue un lenguaje de orientado a simulación de procesos
•Aparecen por primera vez el término Objeto y Clase
Basado en Simula
Orden Cronológico
Paradigma Orientado a
ObjetoProgramación
Representa la evolución natural de
Forma en que un hombre
trabajaSimula la
Concepción Básica
El mundo como un conjunto de
objetosEs Percibir
Programación Orientada a Objeto (POO)
ParadigmaUtiliza Objetos y sus interacciones
Utilizado para diseñar aplicaciones
y programas de Computadora
Teorías Estándares Modelos
Métodos
Lenguajes Orientados a Objeto
Herencia de
Clases
Basado en
Clases
Basado en
Objetos
Lenguajes Orientados a
Objeto
•Reutilización de Código•Permite crear sistemas más complejos•Relación del sistema con el mundo real•Facilita la creación de programas visuales•Se trabaja mediante la construcción de prototipos•Agiliza el desarrollo del Software•Facilita el trabajo en Equipo•Facilita el mantenimiento del Software
Ventajas
Programación Orientada a Objeto (POO)
Abstracción:
•Generalización conceptual de un determinado conjunto de objetos y de sus atributos y propiedades
•Deja en segundo término los detalles concretos de cada objeto
Polimorfismo:
•Acceso a un grupo de funciones a través de la misma interfaz
•Un identificador puede tener distintas formas (distintos cuerpos de función y comportamiento)
Modularidad
•Propiedad de un sistema descompuesto en un conjunto de módulos cohesivos débilmente acoplados
Encapsulamiento:
•Capacidad de agrupar y condensar en un entorno con límites bien definidos distintos elementos
•Se hace referencia a encapsulamiento abstracto
Herencia:
•Es un tipo de jerarquía aplicada sobre las clases
•Las clases tienen descendencia y heredan atributos de clases “padres” (Superclases)
•Existe la herencia simple y la múltiple
POO
Abstracción
Polimorfismo
ModularidadEncapsulamie
nto
Herencia
Definición de Objeto
Elementos de la vida real
Problema
Objeto
Abstracción
Representa
De En el dominio del
Atributos
•Caracterizan al Objeto
•Variables que almacenan datos relacionados al estado de un objeto
Método
•Caracterizan el comportamiento del objeto
•Hacen posible que el objeto responda a solicitudes externas
•Pueden depender o modificar valores de los atributos
Identidad
•Es lo que le diferencia de los demás objetos
•Esta identidad se crea mediante un identificador
Entidad Real o Abstracta
Representa
Instancia
Clase
De
Es
Objeto
Paradigma Estructurado
•Variables
Paradigma POO
•Objetos
Relación con otros paradigmas
Componentes
Definición de Clase
Clase: Auto
El auto de
Laura
El auto de Luis
Mi auto
Conjunto de Objetos
Estructura y comportamientos
Que Comparten
Clase
Es
Abstracción
Representa
De
Son
Atributos (Estado)
Métodos o Procesos
Clase
Plantilla
De
Instancia
De
Objeto
Es una instancia de la clase
Ya está definido, con características particulares
Clase
Es la definición de un tipo de objeto
Representa la abstracción de las
características de un grupo de objetos
Componentes
Ejemplo
Definición de UML
Conjunto de Objetos
UML (Lenguaje unificado de
modelo)
Es
Sucesor
De
Los diagramas UML permiten:
Lenguaje de
Modelado
Métodos de análisis y diseños
orientados a objeto
De
Es
Especificar, construir y
documentar
Software Orientado a
Objetos
Sirve para
Comunicar la estructura de un
sistema complejo
Especificar el comportamiento
deseado del sistema
Comprender Mejor lo que
estamos Construyendo
Descubrir oportunidades
de simplificación y
Reutilización
Representa los planos de un sistema
El modelo captura lo esencial
Tiene 13 tipos de Diagramas
Es un estándar OMG (Object Management Group)
Características
Diagramas UML
Diagramas UML
Diagrama sdeEstructuras
Diagrama de Clases
Diagrama de Estructura compuesta
Diagrama de Componentes
Diagrama de Despliegue
Diagrama de Objetos
Diagrama de Paquetes
Diagramas de comportamiento
Diagrama de Actividad
Diagrama de Casos de Uso
Diagrama de Máquina de
Estado
Diagramas de Interacción
Diagrama de Secuencia
Diagrama Global de Interacción
Diagrama de comunicación
Diagrama de Tiempo
Clases
Casos de Uso
Secuencia
Colaboración
Estado
Actividad
Los más utilizados
Diagramas UML más utilizados
Clases
Estático que describe la
estructura de un sistema
Sirve para visualizar las
relaciones entre las clases
Esta compuesto por
Clases, relaciones
Actividad
Representa el flujo de control
del Sistema
Se muestra el orden en el que van realizando
tareas
Casos de Uso
Son usados en el modelado del sistema
Se representan acciones que realiza cada
tipo de usuario (desde su
punto de vista
Estado
Describe el comportamiento de un sistema
Reactivo
El comportamient
o del sistema está dirigido por eventos
Denota Estados y transiciones entre estados
Colaboración
Permite la observación de la interacción de un objeto
respecto a los demás
Muestra interacciones organizadas alrededor de
los roles
Es necesario etiquetar la
secuencia de mensajes
Secuencia
Resalta la ordenación
temporal de los mensajes
Se puede transformar
mecánicamente en uno de
colaboración
Diagrama de Clases y relaciones
•Una subclase hereda métodos y atributos especificados por una super clase
•La subclase posee sus propios métodos y atributosGeneralización /Herencia
•Denota la dependencia de una clase con otra
•La clase dependiente se puede ver afectada si sufre cambios la otra clase
•Gráficamente se muestra como una línea discontinua con punta de flecha
Dependencia
•Por valor (composición)
•El elemento destino forma parte del elemento fuente, su relación se rompe cumpliendo restricciones
•Por referencia (agregación)
•El elemento destino forma parte del elemento fuente, su relación se rompe sin restricciones
Agregación
•Asociación estructural que describe conexión entre objetos
•Se muestra gráficamente con una línea continua
•No es una relación fuerteAsociación
Cliente 1 *
VentanaAplicación1 *
Orden de Compra
Automóvil Ventana
Aplicación
Base de Datos
Código
Introducción a Java
•Tuvo problemas en el mercado
•En 1993 se aprovechó la explosión de WWW por su buena capacidad para agregar contenido dinámico
•Se anunció formalmente en 1995
Java
•Fue llamado Oakdebido a que se hacía referencia a un roble al momento de nombrarlo
•Se cambió el nombre de lenguaje al enterarse que ya existía uno con el mismo nombre, ahora se nombró Java en honor a una cafetería local visitada por el grupo
Oak
•Patrocinó en 1991 un proyecto interno de programación llamado Green
•El proyecto patrocinado era un lenguaje de programación basado en C++ llamado Oak
Sun Microsystems
•Relacionado con el desarrollo de Microprocesadores
•Permitió la masificación de las computadoras personales
Microprocesadores
Historia
JavaLenguaje
Moderno y de alto nivelEs un
SunMicrosystems
en 1995Presentado por
NeutralidadProgramas a Páginas Web
Lo que permite añadir
Su
Lenguaje Simple
Es Orientado a
ObjetoDistribuido Robusto Seguro Portable
Indiferente a la
arquitecturaDinámico
Tiene Alto Rendimiento
Máquina Virtual de Java (JVM)
Java
Lenguaje Interpretado
Es un
JVM
Son interpretados por por
Programas Bytecode
Programa Java
Al compilarse produce
Estructura básica de un programa en java
Características de Java
Programa Java
Identificadores
Comentarios
Sentencias
Bloques de Código
Expresiones
Variables
Elementos de un programa en Java
Elementos Características
Identificadores Es el nombre que identifica a una variable, método, función miembro o clase
Comentarios Es un texto adicional que se agrega a un programa para explicar su funcionalidad
Sentencias Es una orden que se le da al programa para ejecutar una acción específica
Bloques de Código
Un grupo de sentencias que comparten una unidad
Expresiones Es todo aquello que se puede poner a la derecha de un operador de asignación
Variable Una variable es un nombre que se asocia con una porción de la memoria del ordenador, en la que se guarda el valor asignado a dicha variable
Errores comunes en la programación
Errores en un programa
Errores Lógicos o semánticos
Ciclos Infinitos
División entre 0
Errores en el algoritmo
Errores Sintáticos
No finalizar una sentencia con un ;
No utilizar la combinación apropiada
de Mayúsculas y minúculas
No utilizar llaves pares
Top Related