Programación Orientada a Objeto y Java
-
Upload
ingenieria-nica -
Category
Documents
-
view
1.916 -
download
4
Transcript of Programación Orientada a Objeto y Java
POO
Origen y Concepto
sObjeto
Clase
UML 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 predeceso
res
• 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 objetos
Es Percibir
Programación Orientada a Objeto (POO)
Paradigma
Utiliza 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
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• Varia
bles
Paradigma POO• Obj
etos
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 comportamient
os
Que Comparten
Clase
Es
Abstracción
Representa
DeSon
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 Construyen
do
Descubrir oportunidad
es 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 UMLDiagramas UML
Diagrama sde Estructuras
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 utilizadosClases
Estático que describe la estructura de un sistema
Sirve para visualizar las relaciones entre las clases
Esta compuesto por Clases, relaciones
Diagrama de Clases y relaciones
Generalización /Herencia
• Una subclase hereda métodos y atributos especificados por una super clase
• La subclase posee sus propios métodos y atributos
Dependencia
• 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
Agregación
• 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
Asociación
• Asociación estructural que describe conexión entre objetos
• Se muestra gráficamente con una línea continua
• No es una relación fuerte
Cliente 1 *
VentanaAplicación1 *
Orden de Compra
Automóvil Ventana
AplicaciónBase 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 Oak debido 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 Microsyste
ms
• Relacionado con el desarrollo de Microprocesadores
• Permitió la masificación de las computadoras personales
Microprocesadores
Historia
JavaLenguaje
Moderno y de alto nivelEs un
Sun Microsystems
en 1995Presentado por
NeutralidadProgramas a Páginas Web
Lo que permite añadir
Su
Lenguaje Simple
Es Orientado a Objet
o
Distribuido
RobustoSeguroPortable
Indiferente a
la arquitectura
Dinámico
Tiene Alto
Rendimient
o
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
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ónErrores 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