Capacitación Java Clase i

18
CAPACITACIÓN JAVA Daniel Césped Villanueva [email protected]

description

Curso de java desarrollado por Daniel Césped Villanueva, esta primera parte contempla lel desarrollo orientado a objetos, sus ventajas y usos.esxplicado de manera facil sencilla para que los alumnos puedan asimilarlo a la vida cotidiana.

Transcript of Capacitación Java Clase i

Diapositiva 1

CAPACITACIN JAVADaniel Csped [email protected]

INTRODUCCIN A LA POO

La programacin orientada a objetos es una evolucin lgica de la programacinestructurada, en la que el concepto de variables locales a un procedimiento ofuncin, que no son accesibles a otros procedimientos y funciones, se haceextensible a los propios subprogramas que acceden a estas variables. Pero laprogramacin orientada a objetos va mucho ms all. En realidad, cambia laconcepcin de la metodologa de diseo de los programas.

2QUE ES PROGRAMACIN ORIENTADA A OBJETOS (POO)

Paradigma que utiliza objetos que interactan entre si.Cumple con las siguientes propiedades:Encapsulamiento.Herencia.Polimorfismo.Abstraccin.

La programacin orientada a objetos es una evolucin lgica de la programacinestructurada, en la que el concepto de variables locales a un procedimiento ofuncin, que no son accesibles a otros procedimientos y funciones, se haceextensible a los propios subprogramas que acceden a estas variables. Pero laprogramacin orientada a objetos va mucho ms all. En realidad, cambia laconcepcin de la metodologa de diseo de los programas.

3QUE ES UN OBJETO?Persona, animal o cosa con caractersticas y que sirve para algo (cosas que se pueden hacer con el).Ejemplo, una casa tiene:Caractersticas: Numero de pisos, ventanas, puertas, habitaciones, color, direccin, etc. Operaciones: Construir, destruir, pintar, modificar, etc.

Objeto:

La respuesta a esta pregunta en trminos ajenos a la programacin parece simple.Un objeto es una persona, animal o cosa. Se distingue de otros objetos por tenerunas determinadas caractersticas y sirve para algo, o dicho de otra forma, sepueden realizar distintas operaciones con/sobre ese objeto.

Objeto:4QUE ES UN OBJETO?Terminologa.

Objetos:

Un objeto est formado por una serie de caractersticas o datos (atributos) y unaserie de operaciones (mtodos). No puede concebirse nicamente en funcin delos datos o de las operaciones sino en su conjunto.5CLASES Y OBJETOSCuando se declara un objeto se debe definir el tipo de objeto, este es la Clase.Ejemplo:CCasa casa1, casa2;

6CLASESEs una plantilla o modelo utilizado para la creacin de objetos.Representan entidades o conceptos.Tienen atributos y mtodos (definen el comportamiento u operaciones).Ejemplo: El plano de una casa.

Clases (Wikipedia): Eninformtica, unaclasees una plantilla para la creacin deobjetos de datossegn un modelo predefinido. Las clases se utilizan para representar entidades o conceptos, como lossustantivosen el lenguaje. Cada clase es un modelo que define un conjunto devariables-el estado- ymtodosapropiados para operar con dichos datos -el comportamiento. Cada objeto creado a partir de la clase se denominainstanciade la clase.Las clases son un pilar fundamental de laprogramacin orientada a objetos. Permitenabstraerlos datos y sus operaciones asociadas al modo de unacaja negra. Los lenguajes de programacin que soportan clases difieren sutilmente en su soporte para diversas caractersticas relacionadas con clases. La mayora soportan diversas formas deherencia. Muchos lenguajes tambin soportan caractersticas para proporcionarencapsulacin, como especificadores de acceso.Una clase tambin puede tener una representacin (metaobjeto) en tiempo de ejecucin, que proporciona apoyo en tiempo de ejecucin para la manipulacin de los metadatos relacionados con la clase.

7

ENCAPSULAMIENTOEs la propiedad que tienen los objetos de ocultar sus atributos y mtodos, a otros programas u objetos.Protege los datos asociados de su modificacin por quienes no tengan derechos de acceso. Previene efectos secundario, e interacciones no deseadas.

ENCAPSULAMIENTO

HERENCIAPermite generar descendencia entre las clases.La clases que hereda adquiere todos los atributos y mtodos de la clase antecesora.Permite la reutilizacin de cdigo.Ejemplo:Un pato es un ave nadadora que pertenece a las aves.

La herencia es el mecanismo fundamental para implementar la reutilizacin y extensibilidad del software. A travs de ella los diseadores pueden construir nuevas clases partiendo de una jerarqua de clases ya existente (comprobadas y verificadas) evitando con ello el rediseo, la modificacin y verificacin de la parte ya implementada. La herencia facilita la creacin de objetos a partir de otros ya existentes, obteniendo caractersticas (mtodos y atributos) similares a los ya existentes.

Las clases de las cuales se heredan son llamadas Clases padres o superclases y las clases que heredan son llamadas clases hijas o subclases.11HERENCIA

POLIMORFISMOEs la capacidad de utilizar el mismo mtodo de manera distinta, ya sea en clases heredadas (Sobrescribiendo esos mtodos) o en la utilizacin del mismo mtodo con diferentes parmetros (Sobrecarga de un mtodo).Ejemplo:

el polimorfismo se refiere a la capacidad para que varias clases derivadas de una antecesora utilicen un mismo mtodo de forma diferente.Por ejemplo, podemos crear dos clases distintas: Pez y Ave que heredan de la superclase Animal. La clase Animal tiene el mtodo abstracto mover que se implementa de forma distinta en cada una de las subclases (peces y aves se mueven de forma distinta).

13POLIMORFISMO

ABSTRACCINConsiste en aislar al elemento en su esencia.Da nfasis en el "qu hace?" ms que en el "cmo lo hace?" (caracterstica de caja negra).Permite disponer de las caractersticas esenciales de un objeto.Permite dar flexibilidad al como lo vemos y lo que queremos hacer.

Uso:A grandes rasgos, laabstraccin, permite que dispongamos de las caractersticas de un objeto que necesitemos. Si necesitamos el objetoPersona, podramos poner nombre, edad, direccin, estado civil, etc. Si lo necesitamos en unsistemaadministrativo, pero, si lo requerimos para el rea debiologa, dentro de sus atributos quiz tengamos, ADN, RND, Gen x1, Gen x2, etc., y los atributos antes mencionados no sean requeridos. En general, podemos decir quePersonacuenta con todos los atributos mencionados aqu, pero por el proceso deabstraccinexcluimos todos aquellos que no tienen cabida en nuestrosistema. Se define como un mtodo por el cual se rescatan los datos relevantes y se ignoran los irrelevantes.

Ejemplo:

Pensar en trminos de objetos es muy parecido a cmo lo haramos en la vida real. Una analoga sera modelar un coche en un esquema de POO. Diramos que el coche es el elemento principal que tiene una serie de caractersticas, como podran ser el color, el modelo o la marca. Adems tiene una serie de funcionalidades asociadas, como pueden ser ponerse en marcha, parar o aparcar. En un esquema POO el coche sera el objeto, las propiedadesseran las caractersticas como el color o el modelo y losmtodosseran las funcionalidades asociadas como ponerse en marcha o parar.15ABSTRACCIN

ABSTRACCIN

PREGUNTAS

Ccasa.javapackagecl.dcesped.desarrollo;

importjava.awt.Color;

publicclassCcasa{
//Atributos
intiPuertas;
intiVentanas;
StringstrColor;

//Constructor
publicCcasa(intiPuertas,intiVentanas,StringstrColor){
this.iPuertas=iPuertas;
this.iVentanas=iVentanas;
this.strColor=strColor;
}

//Metodos
publicvoidpintar(StringstrColor){
this.strColor=strColor;
}

publicvoidabrirPuertas(intiPuertas){
this.iPuertas=this.iPuertas+iPuertas;
}

publicvoidabrirVentanas(intiVentanas){
this.iVentanas=this.iVentanas+iVentanas;
}

publicvoidcerrarPuertas(intiPuertas){
this.iPuertas=this.iPuertas-iPuertas;
if(this.iPuertas