programación orientado a objetos miranda burgos, armas martinez

16
PROGRAMACIÓN ORIENTADO A OBJETOS Conceptos Básicos Integrantes: Armas Martínez Jordi Miranda Burgos Luis Ernesto

Upload: ernesto-miranda

Post on 12-Jun-2015

212 views

Category:

Education


0 download

DESCRIPTION

progrmaciòn orientada a objetos

TRANSCRIPT

Page 1: Programación orientado a objetos miranda burgos, armas martinez

PROGRAMACIÓN ORIENTADO A OBJETOSConceptos Básicos

Integrantes:Armas Martínez JordiMiranda Burgos Luis Ernesto

Page 2: Programación orientado a objetos miranda burgos, armas martinez

¿A QUE SE REFIERE CON PROGRAMACIÓN ORIENTADO A OBJETOS?

Antes de establecer los elementos del lenguaje, es necesario tener presentes los conceptos básicos de la programación orientada a objetos porque la sintaxis y el formato de Java están plenamente apegados a ellos.

 Es un estilo de programación que utiliza distintos objetos y sus interacciones para diseñar aplicaciones y programas de ordenador. 

¿Cómo? Uniéndolos. De esa forma se logra un programa bien complejo, que no posee un sólo objeto, sino varios. 

Page 3: Programación orientado a objetos miranda burgos, armas martinez

OBJETO Los objetos software son

conceptualmente similares a los objetos del mundo real: también consisten de estado y comportamiento.

Un objeto almacena su estado en campos («variables» en algunos lenguajes de programación) y muestra su comportamiento a través de métodos («funciones» en algunos lenguajes de programación). 

Decimos que un objeto es una instancia de una clase. 

Page 4: Programación orientado a objetos miranda burgos, armas martinez

Una clase representa al conjunto de objetos que comparten una estructura y un comportamiento comunes.

CLASE En el mundo real a menudo se

encontrará con muchos objetos individuales del mismo tipo. Puede haber miles de otras bicicletas, todas de la misma marca y modelo. 

En términos de orientación a objetos decimos que su bicicleta es una instancia de la clase de objetos conocida como bicicletas. Una clase es el plano del que se crean objetos individuales

Page 5: Programación orientado a objetos miranda burgos, armas martinez
Page 6: Programación orientado a objetos miranda burgos, armas martinez

ABSTRACCIÓN La abstracción es un método por el

cual abstraemos, vale la redundancia, una determinada entidad de la realidad sus características y funciones que desempeñan, estos son representados en clases por medio de atributos y métodos de dicha clase.

Un ejemplo sencillo para comprender este concepto seria la abstracción de un Automóvil.

Características por ejemplo: Color Año de fabricación Modelo Etc.

Métodos o funciones típicas: Frenar Encender Acelerar Apagar

Page 7: Programación orientado a objetos miranda burgos, armas martinez

OCULTAMIENTO DE INFORMACIÓN (ENCAPSULAMIENTO) Es el ocultamiento de información que

no es necesario saber un determinado usuario.

Este concepto se basa en que por ejemplo a un conductor no necesita saber como esta compuesta las partes internas del motor, sino la funcionalidad que tiene, a este ocultamiento se le denomina encapsulamiento.

Page 8: Programación orientado a objetos miranda burgos, armas martinez

Si se desea flexibilidad, buen mantenimiento y extensibilidad, nuestro diseño en el código debe de incluir encapsulamiento, para ello debemos de hacer lo siguiente:

Mantener las variables de instancia protegidas (puede ser con un modificador de acceso, p.ej., private).

Hacer métodos de acceso públicos para forzar al acceso a las variables por medio de dichos métodos en lugar de acceder directamente.

Utilizar las convenciones de código para los nombres de los métodos, p. ej., set y get.

Page 9: Programación orientado a objetos miranda burgos, armas martinez

HERENCIA Este es un concepto

fundamental para la POO y para el lenguaje java, ya que con este concepto significa que vamos a poder reutilizar código.

Un ejemplo seria una clase Figura Geométrica, que tiene funciones como el calculo de su perímetro y de su área, y tiene como sub clase la clase Cuadrado, que era sus métodos de la clase Figura Geométrica que son en este caso perímetro y área, acá aprovechamos la reutilización de código.

Pero en java no existe la herencia múltiple como en otros programas como C/C++, acá es solo herencia simple, pero en java existe algo que simula esta herencia múltiple que son las llamadas interfaces. 

Page 10: Programación orientado a objetos miranda burgos, armas martinez
Page 11: Programación orientado a objetos miranda burgos, armas martinez

COHESIÓN Básicamente significa que

una clase es autónoma, ninguna otra clase puede tocar sus campos privados, que sólo puede llamar a los métodos públicos

En resumen mientras más enfocada este la clase, mayor es su cohesión y esto es bueno para nuestro desarrollo.

Page 12: Programación orientado a objetos miranda burgos, armas martinez

CLASES ABSTRACTAS Una clase que declara la existencia de métodos pero no la

implementación de dichos métodos (o sea, las llaves { } y las sentencias entre ellas), se considera una clase abstracta. 

Una clase abstracta puede contener métodos no-abstractos pero al menos uno de los métodos debe ser declarado abstracto. 

Para declarar una clase o método como abstracto, se utiliza la palabra reservada abstract.

Page 13: Programación orientado a objetos miranda burgos, armas martinez

INTERFACES Una interfaz es un conjunto de métodos

abstractos y de constantes cuya funcionalidad es la de determinar el funcionamiento de una clase, es decir, funciona como un molde o como una plantilla. Al ser sus métodos abstractos estos no tiene funcionalidad alguna, sólo se definen su tipo, argumento y tipo de retorno.

Page 14: Programación orientado a objetos miranda burgos, armas martinez

POLIMORFISMO En programación orientada a objetos se denomina

polimorfismo a la capacidad que tienen los objetos de una clase de responder al mismo mensaje o evento en función de los parámetros utilizados durante su invocación. Un objeto polimórfico es una entidad que puede contener valores de diferentes tipos durante la ejecución del programa.

Page 15: Programación orientado a objetos miranda burgos, armas martinez

ACOPLAMIENTO El acoplamiento mide el grado de relacionamiento de un

módulo con los demás. A menor acoplamiento, mejor: el módulo en cuestión será más sencillo de diseñar, programar, probar y mantener.En el diseño estructurado, se logra bajo acoplamiento reduciendo las interacciones entre procedimientos y funciones, reduciendo la cantidad y complejidad de los parámetros y disminuyendo al mínimo los parámetros por referencia y los efectos colaterales.De nuevo, el diseño orientado a objetos nos complica las cosas con sus tres tipos de módulos. A los métodos, como pasó con la cohesión, podemos analizarlos con los mismos criterios que a los módulos del diseño estructurado.

Page 16: Programación orientado a objetos miranda burgos, armas martinez

ASOCIACIÓN DE OBJETOS Una asociación es una conexión entre clases, una conexión (enlace)

semántica entre objetos de las clases implicadas en la asociación. El establecimiento de una asociación define los roles (papeles) o dependencias entre objetos de dos clases y su cardinalidades ( multiplicidad ); es decir, cuantas instancias (ejemplares) de cada clase pueden estar implicadas en una asociación.

Una asociación es, normalmente, bidireccional, lo que significa que si un objeto se asocia con otros objetos, ambos objetos se conocen entre si. Una asociación representa que objetos de dos clases tienen un enlace entre ellos, lo que significa por ejemplo, que ellos conocen sobre los otros, están conectados a, para cada x hay una y, etc. La asociación se representa por una línea que une a las dos clases y el nombre de la asociación se escribe en la línea.