You are on page 1of 34

Introduccin al lenguaje de Programacin Java

ndice Sesin 1
Teora de Objetos
Qu es una clase? Qu es un objeto? Principios de POO? Herencia y polimorfismo. Qu es una clase abstracta? Qu es una interface? Origen del lenguaje La JVM La JDK Entornos visuales (IDE) Hola mundo, primer programa

Java

Definicin de Clase
Es un tipo de dato abstracto.
Las clases definen la estructura esttica.

Las clases constituyen la unidad mnima de construccin de programas.


En general, cada clase se localiza en un archivo diferente que lleva el nombre de la clase y su extensin es .java.

Definicin de Clase
Una clase puede tener los siguientes miembros: Atributo Mtodo
Los miembros pueden tener los siguientes modificadores de acceso: public protected private

Definicin de objeto
Es una instancia particular de una Clase.
Un objeto es una entidad definida por un estado y un comportamiento. Los objetos definen la estructura dinmica.

El concepto est basado en el de TDA pero lo extiende en varios aspectos importantes.

Pilares de la Programacin Orientada a Objetos

Encapsulamiento Herencia

Polimorfismo

Encapsulamiento
Definicin: Propiedad de una Clase de objetos de empaquetar datos y operaciones. Agrega al concepto de TDA el control estricto de acceso a los datos y operaciones.
Existen distintos niveles de control de acceso.

Modificadores de acceso: Controlan el acceso a los miembros de una clase, definiendo qu clases pueden utilizarlos (public, protected, private). Los modificadores de acceso son palabras reservadas. La restriccin por defecto es package.

Herencia
Relacin entre una clase comnmente conocida como descendiente y otra denominada ancestro.
Cualquier rol que este cumpliendo una instancia padre en el cdigo debera ser cumplida semnticamente igual por una instancia hija. Es una relacin esttica definida en tiempo de compilacin.

Herencia
Se utiliza la palabra reservada extends a continuacin del nombre de la clase, para indicar de qu clase se hereda.
package modulo1.ejemplos; public class CuentaBancaria { private String idCuenta; private double saldo; private String titular; public void acreditar(double cantidad){ ; } public void debitar(double cantidad){ { ; } } }

package modulo1.ejemplos; public class CajaAhorro extends CuentaBancaria { public void acreditarIntereses() { ; }

Herencia: Redefinicin, Extensin y Sobrecarga


Un descendiente posee todos los mtodos y atributos de su padre a nivel de interface y de implementacin.
Un descendiente puede redefinir los mtodos que hereda de su padre. Extensin: Un descendiente puede agregar sus propios mtodos y atributos por mecanismos propios de encapsulamiento. Sobrecarga: es la posibilidad de diferenciar a los mtodos, procedimientos o funciones.

Redefinicin vs. Sobrecarga


Sobrecarga: Mtodos con el mismo nombre y distinta cantidad o tipos de parmetros.

Redefinicin: Mtodos con el mismo nombre y la misma cantidad y tipos de parmetros, modificado por un descendiente luego de ser heredado.

Polimorfismo
Polimorfismo significa la habilidad de tomar mltiples formas.
En POO, las que pueden tomar mltiples formas son las referencias en tiempo de ejecucin.

Operacin

... es una ...

... es una ...

Suma

Division

Polimorfismo
Una asignacin en donde el tipo origen (lado derecho) es diferente del tipo destino (lado izquierdo) es denominada asignacin polimrfica.
Operacion Operacion ... Resultado Resultado operacion1 = new Suma(1,2); operacion2 = new Division(1,2); resultado1 = operacion1.getResultado(); resultado2 = operacion2.getResultado();

La estructura jerrquica definida por la herencia permite ver a una instancia de una clase hijo como una instancia de clase padre.

Polimorfismo
La herencia determina qu asignaciones polimrficas son permitidas.
El polimorfismo flexibiliza el uso que se le puede dar a la herencia Entre las dos compatibilizan la idea de que... Un hijo debe poder desempearse semnticamente igual que su padre en cualquier rol que ste este desempeando.

Clase Abstracta
Clase que no se la debe poder instanciar.
Se utilizan como...
Soporte a Conceptos Comunes de mltiples realidades a modelar pero que no tienen existencia Patrn para uniformizar comportamiento

Definicin de puntos de modificacin diferida.

En contraposicin, a una clase NO abstracta se la denomina Concreta.

Mtodo Abstracto
Dentro de una clase abstracta puede no tener sentido definir el comportamiento de un mtodo, a dicho mtodo puede catalogrselo como abstracto para definir su necesidad y forzar que las clases concretas lo implementen.

Interfaces
Una interface es una clase especial que: Si tiene alguna propiedad, debe ser una constante. Todos los mtodos que tiene tienen que ser abstractos. Las clases que implementen una interface, debern escribir todos los mtodos que contenga la interface, excepto si es abstracta.

Origen del lenguaje


Est concebido para desarrollo de aplicaciones en red.
Es un lenguaje interpretado, independiente de la plataforma. Para poder ejecutar programas java, necesitamos una mquina virtual Java. JVM.

Java Virtual Machine (JVM)


Es una mquina virtual de proceso nativo, capaz de interpretar y ejecutar instrucciones expresadas en un cdigo binario, el cual es generado por el compilador del lenguaje Java.
La JVM es una de las piezas fundamentales de la plataforma Java. Bsicamente se sita en un nivel superior al Hardware del sistema sobre el que se pretende ejecutar la aplicacin, y este acta como un puente que entiende tanto el bytecode, como el sistema sobre el que se pretende ejecutar.

Java Virtual Machine (JVM)


La gran ventaja de la mquina virtual java es aportar portabilidad al lenguaje. Tan solo es necesario disponer de dicha mquina virtual para los diferentes entornos.

Java Development Kit (JDK)


Es un software que provee herramientas de desarrollo para la creacin de programas en Java. En los sistemas operativos Windows sus variables de entorno son:
JAVAPATH. CLASSPATH. PATH.

Los programas ms importantes que se incluyen son:


appletviewer.exe javac.exe java.exe javadoc.exe

Java Development Kit (JDK)


El sitio oficial de Sun
http://developers.sun.com/downloads/

Al ejecutar el instalador se crea una estructura de carpetas en C:\Archivos de Programa\Java.


/bin . Herramientas y utilidades del JDK /lib . Libreras del JDK /demo . Archivos con cdigos de ejemplo. /jre . La JVM. /db . Un DBMS gratuito /src.zip . El cdigo fuente de las libreras comprimido

Entornos visuales (IDE)


Eclipse
Netbeans WebSphere Studio Borland JBuilder Oracle JDeveloper

Sun ONE Studio

Eclipse
Eclipse es un entorno de desarrollo integrado de cdigo abierto multiplataforma para desarrollar lo que el proyecto llama "Aplicaciones de Cliente Enriquecido. Esta plataforma, tpicamente ha sido usada para desarrollar entornos de desarrollo integrados (del ingls IDE).

Eclipse
Eclipse es tambin una comunidad de usuarios, extendiendo constantemente las reas de aplicacin cubiertas. Un ejemplo es el recientemente creado Eclipse Modeling Project, cubriendo casi todas las reas de Model Driven Engineering.
Eclipse fue desarrollado originalmente por IBM. Ahora es desarrollado por la Fundacin Eclipse que fomenta una comunidad de cdigo abierto y un conjunto de productos complementarios, capacidades y servicios.

Eclipse
Podemos descargar Eclipse ya configurado desde el sitio oficial.
http://www.eclipse.org/downloads/

Descomprimimos el .zip y al ejecutar eclipse.exe se abre el entorno listo para comenzar a desarrollar.

Hola mundo, primer programa


Para crear un nuevo proyecto / aplicacin / programa en Java con Eclipse pulsaremos en "Archivo" - "Nuevo" - "Proyecto":

Seleccionaremos el tipo de proyecto Java que queramos crear: "Proyecto Java" y pulsaremos "Siguiente:

Hola mundo, primer programa


Indicaremos el nombre del proyecto Java de Eclipse, indicaremos la carpeta donde queramos guardar el proyecto Eclipse. Pulsaremos "Finalizar" para concluir el asistente de creacin de proyecto Java Eclipse:

Hola mundo, primer programa


Cerraremos la ventana de "Bienvenida" para visualizar el proyecto creado. A continuacin crearemos una nueva clase Java para crear el tpico mensaje "Hola mundo". Para ello pulsaremos sobre Nombre del proyecto" con el botn derecho del ratn, seleccionaremos "Nuevo" - "Clase":

Hola mundo, primer programa


Indicaremos el nombre del paquete en "Paquete, en nuestro caso "holaMundo". Indicaremos el nombre de la clase en "Nombre" (en nuestro caso "HolaMundo"). Marcaremos "public static void main(String[] args)", porque ser la clase principal de la aplicacin:

Hola mundo, primer programa


Aadiremos la lnea de cdigo: System.out.println("Hola mundo");

Hola mundo, primer programa


Para compilar nuestra aplicacin Java Eclipse pulsaremos en la flecha hacia bajo que aparece en la parte derecha del botn "Ejecutar", nos mostrar un men emergente, seleccionaremos "Ejecutar como" y pulsaremos en "Aplicacin Java. En la parte inferior de la ventana aparecer el resultado de la compilacin de nuestra aplicacin Java con Eclipse:

Preguntas?

Muchas gracias!!!

Muchas gracias!!!

You might also like