1. INSTITUTO TECNOLÓGICO DE
MINATITLÁN
•Olan Nuñez Karen Nallely
•Vargas Cabrera Froylan
Carrera: Ing. Electrónica
Materia: Programación visual.
Docente. Ing. Guillermina Jiménez Rasgado
2. ¿Qué es OOP?
• Significa Programación Orientada a Objetos.
• Esta es una técnica utilizada para crear programas en
torno a las entidades del mundo real.
• En OOP, todos los objetos de la vida real tiene
propiedades y comportamiento.
• Esta característica se logra en java a través de la
creación de clases y objetos.
• La programación orientada a objetos proporciona
una mejor flexibilidad y compatibilidad para el
desarrollo de aplicaciones de gran tamaño.
3. ¿Por qué necesitamos programar?
Aprender a programar es la forma creativa que podemos llevar
nuestras ideas a un nivel superior y expresar soluciones a la
sociedad.
Mediante el diseño de programas, nos enteramos de varias
habilidades como la lectura crítica, el pensamiento analítico y
creación síntesis.
El programador define el problema, planea una solución, los
códigos del programa prueban la propuesta y documentan las
características.
Pero no podemos programar todas las soluciones con el mismo
método, por eso aparece paradigmas de programación.
4. Paradigma de programación
Es la manera en que se explotan los elementos de programación, tales
como funciones, objetos y variables para producir la salida deseada
No son lenguajes de
programación
El objeto orientado; es un
paradigma de programación
donde se concentra la lógica y
los datos del programa .
11. INTERFAZ
Ejemplo.
Public interface Comparable
{
Int compareTo(Object otro);
}
Una interfaz es un conjunto de
métodos que indican que una clase
tiene un comportamiento particular
además del que hereda de sus
superclases.
Serán las clases que implementen
estas interfaces las que describan la
lógica del comportamiento de los
métodos. Otro aspecto importante de
las interfaces en JAVA es que todos los
métodos son automáticamente public
entonces no es necesario declararlo.
Para hacer que una clase implemente
a una interfaz, se dan dos pasos:
1. Se declara que la clase tiene
intención de implementar la interfaz
dada.
2. Se proporcionan definiciones para
todos los métodos de la interfaz
El aspecto que tiene una interfaz
Comparable es el siguiente en JAVA.
11
12. PAQUETE
Para crear un "package" hacemos lo siguiente:
package nombrePaquete
Para el llamado de un paqute: import java.util.* estamos llamando
al paquete java.util, es decir, dentro del paquete "Java" existe un
subpaquete "util", el asterisco (*) después de "util" significa que
podemos utilizar cualquier clase dentro de ese paquete
Definición:
Los paquetes son una forma
de agrupar clases e interfaces
asociadas.
Habilitan los grupos de
clases para estar disponibles
sólo si son necesarios y
eliminan los conflictos entre
los nombres de clases en
grupos diferentes de clases.
Las bibliotecas de clases en
Java están contenidas en un
paquete llamado java.
El paquete java contiene
paquetes más pequeños que
definen subconjuntos
específicos de la
funcionalidad del lenguaje
Java, como características
estándar, manejo de
archivos, multimedia, etc.
12
17. ABSTRACCIÓN
Cada objeto en el sistema sirve
como modelo de un “agente”
abstracto que puede realizar
trabajo, informar y cambiar su
estado, y “comunicarse” con
otros objetos en el sistema sin
revelar cómo se implementan
estas características.
Los procesos, las funciones o los
métodos pueden también ser
abstraídos y cuando lo están,
una variedad de técnicas son
requeridas para ampliar una
abstracción.
17
18. ENCAPSULAMIENTO
EJEMPLO
Significa reunir a todos los
elementos
que
pueden
considerarse pertenecientes
a una misma entidad, al
mismo nivel de abstracción.
Esto permite aumentar la
cohesión
de
los
componentes del sistema.
Hay muchos datos que no
tiene porque conocerlo aquel
que este usando la clase
Persona;
ya
que
son
inherentes al objeto y solo
controlan su funcionamiento
interno.
18
20. PRINCIPIO DE OCULTACIÓN.
Ejemplo:
Cuando alguien te ve puede saber
inmediatamente si eres hombre o mujer
(propiedad) o puede hablarte y obtener una
respuesta procesada (método); también puede
conocer el color de tu cabello y ojos.
En cambio, jamás sabrá que cantidad de
energía exacta tienes o cuantas neuronas te
quedan, ni siquiera preguntándote ya que
ninguna de tus propiedades externas visibles o
funciones de comunicación al publico te
permiten saber esos datos
Cada objeto está aislado del exterior, es un
módulo natural, y cada tipo de objeto expone
una interfaz a otros objetos que especifica
cómo pueden interactuar con los objetos de
la clase
. El aislamiento protege a las propiedades de
un objeto contra su modificación por quien no
tenga derecho a acceder a ellas, solamente
los propios métodos internos del objeto
pueden acceder a su estado.
Esto asegura que otros objetos no pueden
cambiar el estado interno de un objeto de
maneras inesperadas, eliminando efectos
secundarios e interacciones
inesperadas.Algunos lenguajes relajan esto,
permitiendo un acceso directo a los datos
internos del objeto de una manera controlada
y limitando el grado de abstracción. La
aplicación entera se reduce a un
rompecabezas de objetos.
20
21. POLIMORFISMO
Ejemplo:
Primero crearemos una clase ajena a la clase main la cual denominaremos Saludo. Dentro de saludo crearemos
un atributo llamado “MensajeSaludo” de la siguiente manera.
String MensajeSaludo;
Posteriormente pasamos a crear los constructores con diferentes atributos y funciones lo cual vendría a ser el
polimorfismo de la clase Saludo.
public Saludo(){
MensajeSaludo="Hola Amigo";
}
public Saludo(String Palabra){
MensajeSaludo=Palabra;
}
public Saludo(String Palabra, String Nombre){
MensajeSaludo=Palabra.concat(" ").concat(Nombre);
}
Definición.
Comportamientos diferentes,
asociados a objetos distintos, pueden
compartir el mismo nombre, al
llamarlos por ese nombre se utilizará
el comportamiento correspondiente
al objeto que se esté usando.
Realizado esto podríamos instanciar a los diferentes constructores de la clase Saludo en nuestro main principal
o donde lo requiramos.
En este caso usaremos el polimorfismo en nuestro main.
Para poder imprimir en pantalla el atributo que fue asignado por los diferentes constructores de nuestra clase
Saludo, debemos introducir el siguiente código:
System.out.println(x.MensajeSaludo);
System.out.println(y.MensajeSaludo);
System.out.println(z.MensajeSaludo);
Donde indicamos con nuestras variables “x”, “y” y “z” los diferentes constructores (Polimorfismo de la clase
Saludo). Y el “MensajeSaludo” sería el atributo que tomó diferentes valores según el polimorfismo asignado a
cada variable de la clase Saludo.
21
23. HERENCIA
Las clases no están aisladas, sino que se
relacionan entre sí, formando una jerarquía
de clasificación.
Los objetos heredan las propiedades y el
comportamiento de todas las clases a las
que pertenecen.
La herencia organiza y facilita el
polimorfismo y el encapsulamiento
permitiendo a los objetos ser definidos y
creados como tipos especializados de
objetos preexistentes.
Estos pueden compartir (y extender) su
comportamiento sin tener que re
implementar su comportamiento.
Esto suele hacerse habitualmente
agrupando los objetos en clases.
Cuando un objeto hereda de más de una
clase se dice que hay herencia múltiple;
esta característica no está soportada por
algunos lenguajes (como Java).
23
24. BENEFICIOS
Como sigue algunos de los beneficios de la
utilización de la programación orientada a objetos :
Reutilización . Usted puede escribir un programa
usando un código desarrollado anteriormente
Código Compartido . Es capaz de estandarizar la
forma de programar con tras personas.
Modelado rápido . Puede crear prototipos de las
clases y su interacción a través de un diagrama
24
25. Desventajas del uso de la
programación orientada a objetos :
Tamaño . Son más grandes que otros programas ,
consumiendo más memoria y espacio en disco.
Esfuerzo . Requiere mucho trabajo para crear ,
incluyendo la creación de diagramas en la fase de
planificación y la codificación en la fase de ejecución
.
25
27. ¿ QUE ES UML?
• Es un lenguaje gráfico para visualizar, especificar, construir y documentar un
sistema.
• UML ofrece un estándar para describir un "plano" del sistema (modelo),
incluyendo aspectos conceptuales tales como procesos de negocio, funciones
del sistema, y aspectos concretos como expresiones de lenguajes de
programación, esquemas de bases de datos y compuestos reciclados
27
28. Un lenguaje de modelado consiste:
• Vistas: Las vistas muestran diferentes aspectos del sistema modelado. Una
vista no es una gráfica, pero sí una abstracción que consiste en un número
de diagramas y todos esos diagramas juntos muestran una "fotografía"
completa del sistema. Las vistas también ligan el lenguaje de modelado a
los métodos o procesos elegidos para el desarrollo. Las diferentes vistas que
UML tiene son:
• Vista Use-Case: Una vista que muestra la funcionalidad del sistema como
la perciben los actores externos.
• Vista Lógica: Muestra cómo se diseña la funcionalidad dentro del sistema,
en términos de la estructura estática y la conducta dinámica del sistema.
• Vista de Componentes: Muestra la organización de los componentes de
código.
• Vista Concurrente: Muestra la concurrencia en el sistema, direccionando
los problemas con la comunicación y sincronización que están presentes en
un sistema concurrente.
• Vista de Distribución: muestra la distribución del sistema en la
arquitectura física con computadoras y dispositivos llamados nodos.
28
29. • Diagramas: Los diagramas son las gráficas que describen el contenido
de una vista. UML tiene nueve tipos de diagramas que son utilizados
en combinación para proveer todas las vistas de un sistema: diagramas
de caso de uso, de clases, de objetos, de estados, de secuencia, de
colaboración, de actividad, de componentes y de distribución.
29
30. • Símbolos o Elementos de modelo: Los conceptos utilizados en los diagramas
son los elementos de modelo que representan conceptos comunes orientados a
objetos, tales como clases, objetos y mensajes, y las relaciones entre estos
conceptos incluyendo la asociación, dependencia y generalización. Un
elemento de modelo es utilizado en varios diagramas diferentes, pero siempre
tiene el mismo significado y simbología.
30
31. • Reglas o Mecanismos generales: Proveen comentarios
extras, información o semántica acerca del elemento de
modelo; además proveen mecanismos de extensión para
adaptar o extender UML a un método o proceso específico,
organización o usuario.
31
32. Fases del desarrollo de un sistema
•
Análisis de Requerimientos UML tiene casos de uso (use-cases) para capturar los requerimientos del
cliente.
•
Análisis La fase de análisis abarca las abstracciones primarias (clases y objetos) y mecanismos que están
presentes en el dominio del problema
•
Diseño En la fase de diseño, el resultado del análisis es expandido a una solución técnica
•
Programación En esta fase las clases del diseño son convertidas a código en un lenguaje de programación
orientado a objetos. Cuando se crean los modelos de análisis y diseño en UML, lo más aconsejable es
trasladar mentalmente esos modelos a código.
•
Pruebas Normalmente, un sistema es tratado en pruebas de unidades, pruebas de integración, pruebas de
sistema, pruebas de aceptación, etc
32
33. BENEFICIOS DEL UML
• Mejores tiempos totales de desarrollo (de 50 % o más).
• Modelar sistemas (y no sólo de software) utilizando
conceptos orientados a objetos.
• Establecer conceptos y artefactos ejecutables.
• Encaminar el desarrollo del escalamiento en sistemas
complejos de misión crítica.
• Crear un lenguaje de modelado utilizado tanto por
humanos como por máquinas.
• Mejor soporte a la planeación y al control de proyectos.
• Alta reutilización y minimización de costos.
33
34. CONCLUSIÓN
•
L a programación orientada a objetos se desarrolla en java atreves de la creación de clases
y objetos
•
El Objeto y la clase son lo mas importante en la POO ya que la clase es una derivación de
los distintos tipos de objetos, la clasificación se realiza por medio de tres aspectos; las
características o atributos, los métodos o accione que realiza y los eventos que son la
forma de relacionarse con otros objetos.
•
Existe, el polimorfismo en la POO, es una característica la cual nos dice que un objeto
puede adoptar distintos comportamientos.
•
La herencia se presenta, en los objetos al pertenecer a otra clase, es decir son subclases de
una clase, y estas heredan características de la clase a la que pertenecen
•
El encapsulación, es el principio en el cual se basa en agrupar todos los objetos que tienen
el mismo nivel de abstracción, provocando asi una cohesión de objetos, permitiendo así
solo mostrar la información necesaria, y la encapsulada es ocultada.
•
Otra cosa muy importante, en la programación orientada a objetos, como en los otros
lenguajes de programación es aprender la sintaxis, es decir como llamamos o creamos
clases, subclases, como las imprimimos en pantalla, etc.
•
El lenguaje unificado de modelado UML, es el lenguaje el cual te permite visualizar o
modelar por medio de vistas, que consiste en un numero de diagramas, dichos diagramas
tienen una simbología ya establecida.
34