Programacion Orientada a Objetos IE

34
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

Transcript of Programacion Orientada a Objetos IE

Page 1: Programacion Orientada a Objetos IE

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

Page 2: Programacion Orientada a Objetos IE

¿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.

Page 3: Programacion Orientada a Objetos IE

¿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.

Page 4: Programacion Orientada a Objetos IE

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 .

Page 5: Programacion Orientada a Objetos IE

5

Conceptos Básicos

Page 6: Programacion Orientada a Objetos IE

6

CLASE

Page 7: Programacion Orientada a Objetos IE

7

OBJETO

Particular instancia de una clase que responda en consecuencia a los acontecimientos

Page 8: Programacion Orientada a Objetos IE

8

ATRIBUTO

Las características de la clase .

A menudo llamado variables de instancia.

Page 9: Programacion Orientada a Objetos IE

9

METODO

Algoritmo asociado a una clase que representa una cosa que hace el objeto .

Page 10: Programacion Orientada a Objetos IE

10

SUBCLASE

Clase sobre la base de otra clase

Haga clic en el icono para agregar una imagen

Page 11: Programacion Orientada a Objetos IE

11

INTERFAZUna 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.

Ejemplo.

Public interface Comparable{Int compareTo(Object otro);}

Page 12: Programacion Orientada a Objetos IE

12

PAQUETEDefinició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.

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

Page 13: Programacion Orientada a Objetos IE

13

EVENTO

Alertar a la aplicación cuando hay un cambio de estado del objeto

Page 14: Programacion Orientada a Objetos IE

14

CARACTERÍSTICAS

DE LA PROGRAMACIÓN ORIENTADA A OBJETOS

Page 15: Programacion Orientada a Objetos IE

15

Page 16: Programacion Orientada a Objetos IE

16

Page 17: Programacion Orientada a Objetos IE

17

ABSTRACCIÓNCada 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.

Page 18: Programacion Orientada a Objetos IE

18

ENCAPSULAMIENTOSignifica 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.

EJEMPLO

Page 19: Programacion Orientada a Objetos IE

19

Page 20: Programacion Orientada a Objetos IE

20

PRINCIPIO DE OCULTACIÓN.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.

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

Page 21: Programacion Orientada a Objetos IE

21

POLIMORFISMO

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.

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);}

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.

Page 22: Programacion Orientada a Objetos IE

22

Page 23: Programacion Orientada a Objetos IE

23

HERENCIALas 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).

Page 24: Programacion Orientada a Objetos IE

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

Page 25: Programacion Orientada a Objetos IE

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 .

Page 26: Programacion Orientada a Objetos IE

26

UMLLEGUAJE UNIFICADO DE MODELADO

figura 1

Page 27: Programacion Orientada a Objetos IE

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

Page 28: Programacion Orientada a Objetos IE

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.

Page 29: Programacion Orientada a Objetos IE

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.

Page 30: Programacion Orientada a Objetos IE

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.

Page 31: Programacion Orientada a Objetos IE

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.

Page 32: Programacion Orientada a Objetos IE

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

Page 33: Programacion Orientada a Objetos IE

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.

Page 34: Programacion Orientada a Objetos IE

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.