Conceptos y definiciones de poo (quino ortiz & miguel martinez)

35
Conceptos y Definicione s de POO. Alumnos: Miguel Martínez Jesús Martin. Abraham Quino Ortiz. Electrónica Grupo 1 Marzo 7, 2014

description

Es una trabajo con dedicatoria ala materia de POO (Programación Orientada a Objetos), correspondiente ala primera unidad.

Transcript of Conceptos y definiciones de poo (quino ortiz & miguel martinez)

Page 1: Conceptos y definiciones de poo (quino ortiz & miguel martinez)

Conceptos y Definiciones de POO.

Alumnos: Miguel Martínez Jesús Martin.Abraham Quino Ortiz.Electrónica Grupo 1Marzo 7, 2014

Page 2: Conceptos y definiciones de poo (quino ortiz & miguel martinez)

CONCEPTOSOOP: Programación Orientada a Objetos (Object-oriented programming) según sus siglas en inglés, es una forma mas aplicable de la programación, ya que, permite interactuar mas con el usuario al familiarizarse con acciones cotidianas (se presentaran ejemplos en las siguientes diapositivas).

Page 3: Conceptos y definiciones de poo (quino ortiz & miguel martinez)

OOSD: Desarrollo de Software Orientado a Objetos (Object-Oriented Software Development) por sus siglas en inglés, esto significa que es perteneciente a, o que denota un sistema, lenguaje de programación, etc, que apoya el uso de objetos, como una imagen entera, una rutina, o una estructura de datos.

Page 4: Conceptos y definiciones de poo (quino ortiz & miguel martinez)

MODELADO MENTAL: Es un mecanismo humano, en el cual se trata de explicar la forma en que una persona percibe y al mismo tiempo trata de explicar como funciona el mundo que lo rodea.

Page 5: Conceptos y definiciones de poo (quino ortiz & miguel martinez)

OBJETO: En programación un objeto es una unidad dentro de un programa de computadora que consta de un estado y de un comportamiento, que a su vez constan respectivamente de datos almacenados y de tareas realizables durante el tiempo de ejecución.

*El estado de un objeto se refiere al conjunto de los valores de sus atributos en un instante de tiempo dado.*El comportamiento determina las operaciones que este puede realizar o a las que puede responder ante mensajes enviados por otros objetos.

Page 6: Conceptos y definiciones de poo (quino ortiz & miguel martinez)

ATRIBUTOS: Los atributos son las características individuales que diferencian un objeto de otro y determinan su apariencia, estado u otras cualidades. Los atributos se guardan en variables denominadas de instancia, y cada objeto particular puede tener valores distintos para estas variables.

Page 7: Conceptos y definiciones de poo (quino ortiz & miguel martinez)
Page 8: Conceptos y definiciones de poo (quino ortiz & miguel martinez)

Clase: En la programación orientada a objetos, una clase es una construcción que se utiliza como un modelo (o plantilla) para crear objetos de ese tipo. El modelo describe el estado y contiene el comportamiento que todos los objetos creados a partir de esa clase tendrán. Un objeto creado a partir de una determinada clase se denomina una instancia de esa clase.

Page 9: Conceptos y definiciones de poo (quino ortiz & miguel martinez)

A continuación se muestra la sintaxis de una clase:Para crear una clase se utiliza la palabra reservada class y a continuación el nombre de la clase. La definición de la clase se pone entre las llaves de apertura y cierre. El nombre de la clase empieza por letra mayúscula.class Rectangulo{ //miembros dato //funciones miembro }

Page 10: Conceptos y definiciones de poo (quino ortiz & miguel martinez)

MIEMBRO DATO:Los valores de los atributos se guardan en los miembros dato o variables de instancia. Los nombres de dichas variables comienzan por letra minúscula.class Rectangulo{int x;int y;int ancho;int alto;//faltan las funciones miembro }

Page 11: Conceptos y definiciones de poo (quino ortiz & miguel martinez)

FUNCIONES MIEMBRO:En el lenguaje C++ las funciones miembro se declaran, se definen y se llaman. En el lenguaje Java las funciones miembro o métodos solamente se definen y se llaman. El nombre de las funciones miembro o métodos comienza por letra minúscula y deben sugerir acciones (mover, calcular, etc.). La definición de una función tiene el siguiente formato:

tipo nombreFuncion(tipo parm1, tipo parm2, tipo parm3){ //...sentencias }

Page 12: Conceptos y definiciones de poo (quino ortiz & miguel martinez)

ABSTRACCION: Consiste en aislar un elemento de su contexto o del resto de los elementos que lo acompañan. En programación, el término se refiere al énfasis en el "¿qué hace?" más que en el "¿cómo lo hace?.

Page 13: Conceptos y definiciones de poo (quino ortiz & miguel martinez)

A grandes rasgos, la ABSTRACCIÓN, permite que dispongamos de las características de un objeto que necesitemos. En general, podemos decir que Persona cuenta con todos los atributos mencionados aquí, pero por el proceso de abstracción excluimos todos aquellos que no tienen cabida en nuestro sistema. Se define como un método por el cual se rescatan los datos relevantes y se ignoran los irrelevantes.

Page 14: Conceptos y definiciones de poo (quino ortiz & miguel martinez)

COHESION: La cohesión hace referencia a la forma en que agrupamos unidades de software (módulos, subrutinas...) en una unidad mayor.

Page 15: Conceptos y definiciones de poo (quino ortiz & miguel martinez)

TIPOS DE COHESION:Cohesión funcional: Los elementos de la unidad de software están relacionados en el desarrollo de una única función. Es decir, las unidades de software trabajan juntas con un mismo fin. En general, es el criterio de agrupación más deseable.

Únic

a

funci

ón

Elemento 1

Elemento 2

Elemento 3

Page 16: Conceptos y definiciones de poo (quino ortiz & miguel martinez)

Cohesión secuencial:Una unidad de software realiza distintas tareas en secuencia, de forma que las entradas de cada tarea son las salidas de la tarea anterior. Se agrupan las unidades que cumplen que los resultados o salidas que produce una sirven como entrada para que la próxima continúe trabajando.

Tarea 1

Tarea 2

Tarea 4

Tarea 4

Tarea 3

Tarea 5

Page 17: Conceptos y definiciones de poo (quino ortiz & miguel martinez)

OCULTAMIENTO DE INFORMACION (ENCAPSULACION): En Programación modular, y más específicamente en programación orientada a objetos, se denomina «encapsulamiento» al ocultamiento del estado, es decir, de los datos miembro de un objeto de manera que sólo se pueda cambiar mediante las operaciones definidas para ese objeto.

Page 18: Conceptos y definiciones de poo (quino ortiz & miguel martinez)

Cada objeto está aislado del exterior. El aislamiento protege a los datos asociados de un objeto contra su modificación por quien no tenga derecho a acceder a ellos, eliminando efectos secundarios e interacciones.

Page 19: Conceptos y definiciones de poo (quino ortiz & miguel martinez)

Formas de encapsulamiento:Estándar (Predeterminado)Abierto: Hace que el miembro de la

clase pueda ser accedido desde el exterior de la Clase y cualquier parte del programa.

Protegido: Solo es accesible desde la Clase y las clases que heredan (a cualquier nivel).

Semicerrado: Solo es accesible desde la clase heredada.

Ce: Solo es accesible desde la Clase.

Page 20: Conceptos y definiciones de poo (quino ortiz & miguel martinez)

HERENCIAEs una propiedad que permite que los objetos sean creados a partir de otros ya existentes, obteniendo características (métodos y atributos) similares a los ya existentes. Es un mecanismo que nos permite crear clases derivadas a partir de clase base, Nos permite compartir automáticamente métodos y datos entre clases subclases y objetos. 

Podríamos decir que la herencia, es poder realizar una clase con características propias, dentro de una clase definida.

Page 21: Conceptos y definiciones de poo (quino ortiz & miguel martinez)

EJEMPLOPodríamos decir como EJEMPLO la siguiente característica.

Clase; Tablet.Atributos; Ligera, 4 gb de RAM, delgada, barata.Clase2; Tablet 2.Atributos; (Todas las de la primera). + 8 gb de RAM,32 de disco duro, mas veloz.

Page 22: Conceptos y definiciones de poo (quino ortiz & miguel martinez)

DIAGRAMA EJEMPLO DE HERENCIA

Page 23: Conceptos y definiciones de poo (quino ortiz & miguel martinez)

CLASES ABSTRACTAS Este Tipo de Clases nos permiten crear

“método generales”, que recrean un comportamiento común, pero sin especificar cómo lo hacen. A nivel de  código tienen por particularidad que algunos de sus métodos no tienen “cuerpo de declaración”, ¿qué quiere decir esto? no tienen las llaves { } ni código dentro de ellos y deben estar precedidos por la palabra clave abstract.

Page 24: Conceptos y definiciones de poo (quino ortiz & miguel martinez)

EJEMPLO (como implementarlo)

Page 25: Conceptos y definiciones de poo (quino ortiz & miguel martinez)

IMPORTANTE Las clases que hereden de la clase Abstracta deben

implementar todos los métodos abstractos.(Se debe tener presente que las clases abstractas sí pueden heredar de otras clases.).

La firma o parámetros de los métodos así como el tipo de dato deben respetarse, de lo contrario se está hablando de otro método totalmente diferente.

Si una clase abstracta está compuesta sólo por métodos abstractos y constantes entonces podemos hablar de una interface.

Page 26: Conceptos y definiciones de poo (quino ortiz & miguel martinez)

INTERFACEZ Una interfaz en JAVA se define como una colección

de métodos abstractos y propiedades. En ellas se especifica qué se debe hacer pero no su implementación. Serán las clases que implementen estas interfaces las que describan la lógica del comportamiento de los métodos.

En el lenguaje de programación de JAVA, una interfaz es un conjunto de requisitos que deben satisfacer las clases que se ajusten a esa interfaz, además de que las interfaces no se pueden instanciar haciendo así que sus métodos deban ser re-escritos por la clase que lo implemente.

Page 27: Conceptos y definiciones de poo (quino ortiz & miguel martinez)

EJEMPLO (como implementarlo)

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 28: Conceptos y definiciones de poo (quino ortiz & miguel 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 29: Conceptos y definiciones de poo (quino ortiz & miguel martinez)

EJEMPLO (como implementarlo)

Page 30: Conceptos y definiciones de poo (quino ortiz & miguel martinez)

ACOPLAMIENTO Comencemos por definir lo que es el acoplamiento. El

acoplamiento es el grado en el cual una clase conoce a las además. Si solo la clase A conoce a la clase B, es que B se ha expuesto a, atreves de su interface, entonces la clase A y la clase B, se las denomina ligeramente acopladas... eso es algo bueno. Si, por otra parte A se basa en partes de B que no es parte de la interfaz de B, entonces el acoplamiento es mas fuerte... y eso no es bueno. En otras palabras si A conoce mas que lo que debería de B en la manera en que fue implementado, entonces A y B están fuertemente acoplados.

Page 31: Conceptos y definiciones de poo (quino ortiz & miguel martinez)

EJEMPLO (como implementarlo)

class DoTaxes {     float rate;     float doColorado() {         SalesTaxRates str = new SalesTaxRates();         rate = str.salesRate; // ouch         // esto deberia haber sido llamado         // mediante un metodo:         // rate = str.getSalesRate("CO");         // hacer algo con rate     } }  

class SalesTaxRates {     public float salesRate; // deberia ser private     public float adjustedSalesRate; // deberia ser private     public float getSalesRate(String region) {         salesRate = new DoTaxes().doColorado(); // ouch otra vez!         // hacer calculos por aqui         return adjustedSalesRate;     } }

Page 32: Conceptos y definiciones de poo (quino ortiz & miguel martinez)

ASOCIACION DE OBJETOS La asociación se podría definir como el

momento en que dos objetos se unen para trabajar juntos y así, alcanzar una meta. 

Una asociación de objetos es; Una relación que denota una conexión semántica entre dos clases»

Page 33: Conceptos y definiciones de poo (quino ortiz & miguel martinez)

EJEMPLO (como implementarlo)

Page 34: Conceptos y definiciones de poo (quino ortiz & miguel martinez)

CONLUSION… En esta actividad aprendimos los

conceptos básicos de POO, atreves de una serie de actividades que hicieron que investigáramos y sacáramos un propio concepto, con esto estamos en lo básico para poder entrar en el entorno de POO.

Page 35: Conceptos y definiciones de poo (quino ortiz & miguel martinez)

BIBLIOGRAFIA http://algoritmoscomputacionalesras.blogspot.mx/

2011/06/interfaces-puntos-extras.html

http://emartini.wordpress.com/2008/09/17/poo-clases-abstractas-interfaces-y-herencia-multiple/

Horstmann,Cays.S. Core Java 2 Volumen 1-Fundamentos, Pearson Prentice Hall

http://www.cristalab.com/tutoriales/programacion-orientada-a-objetos-asociacion-vs-composicion-c89337l/