Você está na página 1de 69

FUNDAMENTOS

Introduccin

Java fue diseado en 1990 por James Gosling, de Sun Microsystems, como software para ispositivos electrnicos de consumo. Curiosamente, todo este lenguaje fue diseado antes de que diese comienzo la era World Wide Web, puesto que fue diseado para dispositivos electrnicos como calculadoras, microondas y la televisin interactiva. Inicialmente Java se llam Oak (roble en ingls), aunque tuvo que cambiar de denominacin, debido a que dicho nombre ya estaba registrado por otra empresa. Bill Joy (cofundador de Sun y uno de los desarrolladores principales del sistema operativo Unix de Berckley) el que sac a Java del letargo en que estaba sumido. Java fue presentado en sociedad en agosto de 1995.

Introduccin
La orientacin a objetos es un paradigma de programacin que facilita la creacin de software de calidad por sus factores que potencian el mantenimiento, la extensin y la reutilizacin del software generado bajo este paradigma. Es un conjunto de mtodos sistemticos aplicables a todos los niveles del diseo de programacin. La POO es tratar de simular o modelar los objetos del mundo real (trata de amoldarse al modo de pensar del hombre). Esta sita su atencin en la interrelacin que existe entre los datos y las acciones sobre ellos.

Introduccin
Programa Es una serie de instrucciones dadas al ordenador en un lenguaje entendido por l, para indicarle exactamente que queremos que haga.
Lenguaje ensamblador Las instrucciones mencionadas anteriormente se almacenan en la memoria de la PC mediante cadenas de bits, es decir 0 y 1; para facilitar el desarrollo de un programa sin trabajar con cadenas de caracteres se utilizan los lenguajes ensambladores; quienes se encargan de indicarle al hardware, mediante cdigos nemotcnicos, las operaciones que tienen que realizar.
Programa escrito en lenguaje ensamblador Ensamblador Programa escrito en lenguaje mquina

En la actualidad los lenguajes ms utilizados son los de alto nivel, que cuentan con una terminologa fcilmente comprensible y no requieren del conocimiento de la estructura del procesador que utiliza el ordenador, para su traduccin se utiliza un compilador.

ENTORNO DE DESARROLLO

Son editores de cdigo que adems puede servirnos para depurar y facilitarnos las diferentes tareas necesarias en el desarrollo de cualquier tipo de aplicacin ya que incorporan un conjunto de herramientas como editores contextuales, visuales, refactoring (el proceso de cambiar el software de un sistema de manera que no altere su comportamiento externo pero mejorando su estructuracin interna), paletas de componentes de interfaz de usuario, consola de salidas, etc que nos facilitan el desarrollo de aplicaciones. Mejor conocidos como IDE (Integrated Development Environments o Entorno de desarrollo integrado).

Tipos de Entorno de Desarrollo


BlueJ Es totalmente libre y adems fue desarrollado como un proyecto de investigacin universitaria Eclipse Es Libre y de cdigo abierto, desarrollado por la Fundacin Eclipse. IntelliJ IDEA Es comercial, desarrollado por JetBrains. Jbuilder Software comercial (existe la versin gratuita), desarrollado por Borland. JCreator Software comercial (existe la versin gratuita), desarrollada por Xinox. JDeveloper IDE gratuito desarrollado por Oracle Corporation. NetBeans IDE y plataforma para la construccin de aplicaciones para escritorios, gratuito de de cdigo abierto. Sun Java Studio Enterprise Software comercial, desarrollado por Sun.

Funciones principales del Entorno de Desarrollo


Crear Guardar Abrir Compilar Depurar Ejecutar

Entorno de Desarrollo Java

Para compilar y ejecutar Java se utiliza habitualmente Java Development Kit (kit de desarrollo de Java) o jdk, desarrollado por Sun Corporation. El jdk tiene dos familias principales: Java 2 Standard Edition o J2SE, orientado a uso personal, y Java 2 Enterprise Edition o J2EE, la edicin empresarial.

Instalacin de JDK
Paso 1. Descargar el software Primero es necesario descargar los programas, de sus sitios web de origen: Abre la pgina de J2SE 1.4.2. Si quieres usar NetBeans selecciona "Download J2SE v 1.4.2_04 SDK with NetBeans 3.6 Bundle"; en caso contrario, haz click en "Download J2SE 1.4 SDK" (cuidado: NO J2EE!). Tras aceptar la licencia, selecciona "Windows Offline Installation, Multi-language (j2sdk-1_4_2_06windows-i586-p.exe)" y gurdalo en disco (tardar un rato: son 51.59 MB). Paso 2. Instalar el jdk Haz doble click en el programa de instalacin del jdk: "j2sdk-1_4_2_06windows-i586-p.exe". Cuando aparezca el cuadro de licencia, pulsa "I accept the terms in the licence agreement" y luego "Next>". En la siguiente pantalla, no cambies nada y pulsa "Next>". En la siguiente pantalla sobre los navegadores web, no cambies nada y pulsa "Install>". Espera a que acabe de copiar todos los ficheros. Esto te llevar unos minutos, ten paciencia. Cuando termine, pulsa "Finish" y si te pide reiniciar el ordenador, hazlo.

Instalacin de JDK

Paso 3.- Configuracin del jdk Abre la "Consola del Sistema", tambin llamada "Smbolo del Sistema" (o en ingls, "Console", "DOS Console", "Command prompt"...). Habitualmente puedes encontrarla en "Men Inicio"->Programas->Accesorios. Si no la encuentras, tambin puedes abrirla yendo a "Men Inicio"->Ejecutar y escribir "cmd" (o si no prueba con "command"). En el smbolo del sistema, escribe: java Si obtienes un mensaje similar a ste:

Instalacin de JDK

No hace falta que sigas con este paso porque ya lo tienes configurado. Sigue con el paso siguiente. Sin embargo, si obtienes un mensaje como ste:

sigue las siguientes instrucciones.

Instalacin de JDK

Pulsa con el botn derecho del ratn sobre "Mi PC" y selecciona "Propiedades". Selecciona la pestaa "Opciones avanzadas" y pulsa en el botn inferior "Variables de entorno". Tanto en el cuadro superior como el inferior, busca una variable que se llama "Path", haz click sobre ella y pulsa el botn "Modificar" (si aparece en los dos cuadros, haz lo siguiente dos veces). En el cuadro de valor de variable, aade al final (cuidado, SIN BORRAR NADA): <lo que hubiera antes>;c:\j2sdk1.4.2_06\bin y pulsa "Aceptar"

Instalacin de JDK

Busca otra vez en la lista de variables si existe "Path". Si no existe, no pasa nada, sigue con el siguiente punto. Si existe, click sobre ella y pulsa el botn "Modificar" (si aparece en los dos cuadros, haz lo siguiente dos veces). En el cuadro de valor de variable, aade al final (cuidado, SIN BORRAR NADA): <lo que hubiera antes>;. (cuidado: con un PUNTO al final) y pulsa "Aceptar". Cierra el cuadro de dilogo de variables de entorno con "Aceptar" y otra vez "Aceptar" para "Propiedades del sistema". Si tenas abierta la consola del sistema, cirrala para que se carguen los nuevos valores. bre la consola otra vez y comprueba que al escribir javac y java se obtienen los mensajes habituales de Java. Si sigue apareciendo el mensaje "javac" no se reconoce como un comando interno o externo, programa o archivo por lotes ejecutable.

Java

Es un lenguaje de programacin de alto nivel con el cual se pueden escribir tanto programas convencionales como para Internet. Su principal ventaja es que es independiente de la plataforma . Esto indica que el cualquier cdigo producido por su compilador puede transportarse y ejecutarse a cualquier plataforma que tenga instalado el JVM (Intel, Sparc, Motorola, etc.).

Java incluye dos elementos: Un compilador, produce un cdigo de bytes que es almacenado en un fichero. Interprete, traduce y ejecuta simultneamente el cdigo de bytes mediante la JVM.

Introduccin
Compilador Es la traduccin de un programa escrito en un lenguaje de alto nivel a un lenguaje maquina.
Programa escrito en lenguaje de alto nivel Compilador Programa escrito en lenguaje mquina

Para el caso de Java, una vez que se ha compilado el programa, este se ejecuta a travs de la Maquina Virtual de Java (JVM), la cual ser puesta en marcha por el ordenador.

Introduccin
Maquina Virtual No existe fsicamente, es simulada en un ordenador por un programa, es de fcil instalacin y su principal ventaja es que cualquier programa escrito y compilado en Java, puede ser ejecutado en cualquier ordenador que tenga instalado la JVM.

Java

Ejecucin de un programa Java


Programa escrito en Java Compilador Cdigo de bytes Maquina virtual de Java

Pasos para la realizacin de un porgrama en Java, son: Editar programa Compilarlo Ejecutarlo Depurarlo

Caractersticas de Java

Lenguaje orientado a objetos Disponibilidad de un amplio conjunto de libreras Aplicaciones multiplataforma Ejecucin segura de aplicaciones

Ventajas de Java

Modelo: permite realizar un modelo de sistema casi independientemente de los requisitos del Proyecto. Modularidad: se compone de mdulos independientes y robustos. Extensibilidad: aplicacin de la Jerarqua de clases, para adaptar nuevos requisitos (atributos y/o mtodos). Eliminacin de redundancia: evitar la definicin mltiple de datos y funciones Reutilizacin: ahorro de trabajo

Ediciones de Java

Java dispone de un amplio conjunto de paquetes (libreras) para la realizacin de aplicaciones; las cuales se clasifican en tres grupos: Java SE (Edicin Estndar) versin jdk6 Java EE (Edicin Empresarial) Java ME (Edicin Micro)

Elementos de la POO
La programacin orientada a objetos gira entorno al concepto de objetos sus atributos y mtodos. Objeto es el concepto clave de la POO, la idea de objeto es similar a la del mundo real, un objeto puede ser una silla, una mesa. Tu perro es un objeto. Los objetos tienen dos caractersticas: Un estado y un comportamiento. Entonces podemos definir a un objeto en POO, como un conjunto de datos y funciones relacionadas.

Perro
Estados Comportamientos

Estados

Comportamientos Auto

Elementos de la POO (Objetos)

Dos elementos primordiales de la Programacin OO son las clases y los objetos. En trminos de Programacin OO, un objeto es una entidad que tiene datos particulares (atributos) y unas formas de operar sobre ellos (mtodos). Tambin, un objeto es una unidad que representa un concepto y contiene la informacin necesaria para abstraerlo: datos que describen sus atributos y operaciones que definen su comportamiento. Una clase es la definicin o descripcin, en forma abstracta, de algn tipo de objeto en particular. Es una plantilla que sirve para crear objetos de esa clase o de ese tipo. Una clase describe los mtodos y los atributos que definen las caractersticas comunes a todos los objetos de esa clase. Es una generalizacin de un tipo especfico de objeto.

Elementos de la POO

Ya que un objeto es creado a partir de una clase, se dice que un objeto es la instancia de una clase y representa un caso individual o especfico de dicha clase. Una clase no es un objeto, si no la definicin de un objeto; la cual describe sus caractersticas y comportamientos. Los atributos de una clase tambin son conocidos como variables de instancia y son aquellos elementos que describen al objeto, son las cosas que los objetos conocen sobre s mismos, representan el estado o datos-- de un objeto.

Elementos de la POO

Los mtodos de una clase son las acciones que puede realizar un objeto, representan el comportamiento que opera sobre los datos o atributos de la clase, es decir, las cosas que puede hacer un objeto de la clase. Es comn definir en una clase los mtodos para poner y obtener los valores de cada atributo de la clase, por ejemplo en la clase Despertador existe un mtodo para poner la hora de alarma (ponerHrAlarma) y otro para obtener la hora de alarma (obtenerHrAlarma), mientras que el atributo al que hacen referencia es horaAlarma. Cuando un objeto esta realizando una accin decimos que esta llamando o invocando a un mtodo. La forma de comunicarnos con los objetos y que los objetos se comuniquen entre objetos es invocando sus mtodos.

Clases
Para disear una clase, piensa en los objetos que sern creados a partir de esa clase: Cosas que el objeto conoce o tiene Cosas que el objeto hace

Nombre de la clase Variables de instancia/Atributos comportamiento Mtodos estados

Para definir un clase se hace uso de los diagramas de clase


utilizados en el lenguaje de modelado unificado UML.

Clases
Cancin Perro Despertador

Titulo Artista Duracin Genero


ponerTitulo() ponerArtista() Reproducir()

Raza Tamao Nombre Color Edad Ladrar() Jugar() Comer()

horaAlarma modoAlarma
ponerHrAlarma() obtenerHrAlarma() activarAlarma() Despertar()

Clases (ejercicios)
Casa Avin Alumno

Telefono

Planeta

Agua

Caractersticas de la POO

Las caractersticas fundamentales de la POO son: abstraccin, encapsulamiento, herencia y polimorfismo. La ABSTRACCIN consiste en obtener una representacin de las caractersticas esenciales de algo sin incluir antecedentes o detalles irrelevantes. Por medio de la abstraccin, se pretende generalizar y centrarse en los aspectos que permiten tener una visin global de un tema. La clave de la Programacin OO esta en abstraer los mtodos y los datos comunes a un conjunto de objetos y almacenaros en una clase.

Caractersticas de la POO

El ENCAPSULAMIENTO u ocultamiento de informacin se refiere a la prctica de incluir dentro de un objeto todo lo que necesita, de tal forma que no sea imprescindible conocer su estructura interna. Cuando encapsulamos a un objeto, tenemos una caja negra que protege su informacin especfica. Las caractersticas de abstraccin y de encapsulamiento estn representadas por la clase. La clase es una abstraccin, porque en ella se definen las propiedades y los atributos genricos de un determinado conjunto de objetos con caractersticas comunes, y es una encapsulacin, porque constituye una caja negra que encierra tanto los datos de que constan los objetos como los mtodos que permiten manipularlos.
Auto Modelo Marca Motor Encender() Acelerar() Frenar() Motor Modelo Marca Encender() Apagar()

Caractersticas de la POO

El POLIMORFISMO es la posibilidad de usar en clases diferente propiedades o mtodos con el mismo nombre de forma que cuando se usen no nos preocupe a que clase pertenece.

Triangulo Base Altura Circulo Radio CalcularArea() Cuadrado Base Altura CalcularArea() CalcularPerim()

CalcularArea() CalcularPerim()

Caractersticas de la POO

La HERENCIA es el mecanismo para compartir automticamente mtodos y atributos entre clases. Esta caracterstica permite definir nuevas clases a partir de otras clases ya definidas. La clase que sirve como base para heredar a otras es conocida como clase base, superclase o clase padre, mientras que la clase que hereda (o extiende) las propiedades y mtodos de la clase padre es conocida como clase derivada, subclase o clase hija. La herencia mantiene una relacin es un.

Caractersticas de la POO

Cuadrado ES UNA figura


FiguraG Base Altura Radio CalcularArea() CalcularPerim() CalcularRadio()

Triangulo Base Altura Cuadrado Base Altura CalcularArea() CalcularPerim()

Circulo Radio CalcularArea()

CalcularArea() CalcularPerim()

ELEMENTOS DE UN PROGRAMA EN JAVA

Libreras: es un fichero separado en el disco (.lib, .jar o .dll) que contiene las clases que definen las tareas ms comunes, para que no tengamos que escribirlas.

import.java.util.*;

Clase, contienen la definicin de los objetos, una clase es el lugar en el que se codifican los mtodos que van a exponer los objetos pertenecientes a esta clase.

class Farmacia {

Atributos, en java tambin se conocen como variables y son un espacio fsico de memoria donde un programa puede almacenar un dato para su posterior utilizacin. Su declaracin se hace al inicio del programa.

String presentacion;

Mtodos, definen el comportamiento de los objetos de una clase y hacen uso de los atributos (variables) para almacenar informacin sobre el objeto, la cual puede ser utilizada posteriormente por cualquier mtodo del objeto.

public void Capturar ( ) {

Punto de entrada (main): mtodo principal que define el inicio y salida de la aplicacin.

public static void main (String[]args) {

Sintaxis Bsica

Lenguaje sensible a maysculas y minsculas, esto se aplica tanto a las palabras reservadas como a los nombres de variables y mtodos. (Suma, suma y SUMA son diferentes) La sentencias o instrucciones finalizan con ;

suma a+b;

Los bloques de instrucciones se delimitan con llaves {}


Comentarios, se emplean para facilitar la tarea de los programadores humanos ya que no realizan ningn papel activo en la generacin del cdigo; de una lnea // y multilnea /* */

Proceso de creacin de un programa en Java

Ejercicio

public class HolaMundo //declaracin de la clase { public static void main (String[] args) //declaracin del mtodo main { // llave que indica el incio del mtodo System.out.println("Hola Mundo"); /* en esta lnea se imprime un mensaje en pantalla*/ } //llave que cierra el mtodo }

Compilacin y Ejecucin

javac es el nombre del compilador de Java (su nombre viene de Java Compiler). El comando java nos permite invocar la mquina virtual Java

Clase

La declaracin de la clase es el inicio del cdigo que contiene las caractersticas esenciales de un objeto, es decir sus atributos y mtodos.

class Nombre_Clase {} class HolaMundo {}

Variables
Es un espacio fsico de memoria donde un programa puede almacenar un dato para su posterior utilizacin. Con estas se puede tratar los Tipos Primitivos, las cuales almacenan el dato primitivo en s:

int k, p , v=20;
int k=40;

Una sentencia de asignacin es asimtrica; es decir, se evala la expresin que esta a la derecha del operador de asignacin y el resultado se asigna a la variable especificada a su izquierda.
resultado = dato1 + dato2;

Tipos de datos (Primitivos)

Se les llama primitivos porque estn integrados en el sistema y no son objetos, lo que ocasiona que su uso sea ms eficiente. Java soporta los ocho tipos de datos primitivos
Tipo Bsico Tamao

byte short int long char float double boolean

8 bits 16 bits 32 bits 64 bits 16 bits 32 bits 64 bits

Se clasifican en tipos numricos y bolanos y a su ves los tipos numricos se clasifican en tipos enteros (byte, short, int, long y char) y tipos reales (float y double)

Main

Es el punto de arranque de un programa Java, cuando se compila el programa la JVM (entorno de ejecucin que adapta los programas compilados a las caractersticas del SO donde se va a ejecutar) busca en la clase indicada el mtodo esttico main(). Dentro del main se pueden crear objetos, invocar mtodos o declarar instrucciones. El mtodo main debe cumplir con ciertas caractersticas: Debe de ser un mtodo pblico Debe ser un mtodo esttico (esta asociado solo a la clase no a un objeto) No puede devolver ningn resultado (void)

Mtodos

Los mtodos son los que definen el comportamiento de los objetos, hacen uso de atributos para almacenar informacin sobre el objeto.
Modificador de acceso Tipo de retorno Nombre del Mtodo() { instrucciones}

public void Capturar() { instrucciones }

Declaracin de Objetos

La sintaxis para la declaracin de un objetos es la siguiente:


nombre _clase nombre _objeto=new mtodo _clase(); Farmacia medicamento=new Farmacia();

Los objetos tambin son utilizados como variables, en donde se almacena una referencia a dicho objeto.
Televisor ts=new Televisor(); ts(referencia)

Invocacin de Mtodos

Para mandar llamar los mtodos de un programa, primero se deber crear el objeto de la clase y posteriormente mandar llamar el mtodo.
nombre objeto.mtodo(); medicamento.Capturar();

Secuencias de Escape

Son caracteres especiales en Java, que indica que debe interpretarse de otra manera el carcter que le sigue a la derecha.
Secuenica de Escape \t \n \ \ \\ \b Funcin Tabulacin a la izquierda Salto de lnea Comilla sencilla Comilla doble Barra invertida Retroceso

System.out.println("Hola\t Mundo\n mi \bnombre es\\ \" Tigre\"");

Palabras Reservadas

Son identificadores predefinidos que tienen un significado especial para el compilador de Java; por lo tanto un identificador definido por el usuario no deber tener el mismo nombre que una palabra reservada.

Estructuras de Control

Ayudan a controlar el flujo de ejecucin de un programa, existen instrucciones alternativas y repetitivas. La instruccin if es una sentencia de tipo alternativa simple, que permite comprobar una condicin dentro de un programa. Si la condicin se cumple se ejecutar determinado conjunto de instrucciones, de lo contrario se ejecutar otro conjunto diferente de instrucciones.
if(condicion) { sentencias } else { sentencias }

Switch

Instruccin de tipo alternativa mltiple. Permite ejecutar una de varias acciones en funcin del valor de una expresin:
switch (expresion) { case valor 1: sentencias; break; case valor 2: sentencias; break; default: sentencias; }

Se evala la expresin entre parntesis y compara su valor con las constantes de cada case. El break finaliza el bloque ejecutado mandando el control fuera del bloque de la sentencia switch. El default se ejecuta cuando no existe una constante igual al valor de la expresin.

WHILE
Permite ejecutar un bloque de instrucciones mientras se cumpla una determinada condicin dentro del programa. Existen dos formatos En este formato primero se comprueba la condicin y enseguida se ejecutan las instrucciones:

while { sentencias; }

En este formato se ejecutan las instrucciones y luego se comprueba la condicin


do { sentencias; }while(condicion);

FOR

Es una instruccin repetitiva que permite ejecutar un conjunto de instrucciones, determinado nmero de veces.
for(inicializacion; condicion; incremento o decremento) {sentencias}

El bucle comienza con la instruccin de inicializacin, que inicializa una variable y que puede incluir su declaracin (si se declara de esta manera solo podr usarse dentro del for). Despus se comprueba la condicin que deber ser de tipo boolean (true or false). En caso de ser true se ejecutan las instrucciones delimitadas por las{}. Las instrucciones del control bucle son opcionales
for(int i=0;;)

Empaquetado

La organizacin de las clases en paquetes facilita el uso de las mismas desde otras clases. Para crear una estructura de paquetes se requiere: Crear directorio, un paquete no es mas que un directorio en el que se ubican los archivos .class con las clases compiladas (cdigo fuente). Empaquetado, consiste en agregar la palabra package en el archivo de cdigo fuente de la clase, con la siguiente sintaxis:
package nombre_paquete

Compilacin, para este proceso los archivos .java ya debern estar en su paquete correspondiente y se podr hacer de dos formas:
raiz\paquete1>javac archivo_clase.java raiz\ javac paquete1\archivo_clase.java

Constructores
Es un mtodo especial que se ejecuta en el momento en que se crea un objeto de la clase (al utilizar el operador new). Uno de los usos de los constructores es la de aadir aquellas tareas que deban realizarse en el momento en que se crea un objeto de la clase, como la inicializacin de los atributos. Para crea un constructor se debe considerar: El nombre del constructor debe ser el mismo que el de la clase. El constructor no puede tener tipo de devolucin (ni siquiera void) Los constructores se pueden sobrecargar (lo que indica que una clase puede tener mas de un constructor y por lo tanto diversas formas de inicializar sus atributos) Toda clase debe tener al menos un constructor

Constructores por defecto


Retomando la cuarta consideracin para la creacin de constructores, toda clase debe tener al menos un constructor, en caso de que esto no suceda (explcitamente) El compilador de Java aade un contructor a la clase, denominado constructor por defecto (implcitamente)

public nombre_clase(){ }

Paso de parmetros (por referencia)

Se utiliza cundo se requiere pasar el valor de una variable a una funcin y que est realice alguna operacin sobre ese Valor, la funcin o mtodo crea una Variable Local y trabaja sobre ella sin modificar la referencia original, es decir se crea una copia y esta es la que se modifica.

Sobrecarga de Mtodos

Es tener en una misma clase varios mtodos con el mismo nombre. La ventaja de la sobrecarga es que, si tenemos varios mtodos que van a realizar la misma operacin (valueOf, conversin de tipos bsicos en cadena de caracteres), no es necesario asignarle un nombre para cada uno, si que se pueden llamar todos igual. Para que la sobrecarga pueda realizarse es necesario que cumpla con la siguiente condicin: cada versin del mtodo deber distinguirse de las otras en el numero o tipo de parmetros aunque la devolucin pueda o no ser la misma.

Sobrecarga de Mtodos (Ejemplos)

Sobrecarga
public void Calculo(int k){} public void Calculo(String s){} public void Calculo(int k, Boolean b){}

Error de sobrecarga
public void Calculo(int k){} public int Calculo(int k){}//aunque la devolucin cambia, el parmetro es el mismo public void Calculo(int n){}//es el mismo parmetro

Modificadores de Acceso

Predeterminado. Estos pueden ser accedidos por cualquier clase perteneciente al mismo paquete. Ninguna clase o subclase fuera del paquete podr tener acceso a estos miembros. Publico. Este puede ser accedido por un objeto de esa clase en cualquier parte de la aplicacin. Privado. Puede ser accedido por un objeto de esa clase en cualquiera de sus mtodos, ni los mtodos de otras clase ni las subclases podrn accesar a l. Protegido. Su comportamiento es parecido al privado solo podrn accesar las clases y miebros de su mismo paquete incluyendo las subclses.

Herencia
Capacidad de crear clases que adquieran de manera automtica los miembros (atributos y mtodos) de otras clases que ya existen. Ventajas Reutilizacin de cdigo, la herencia evita tener que reescribir los mtodos Mantenimiento de aplicaciones existentes, cuando se tiene la necesidad de ampliar la funcionalidad de una clase no necesitamos modificar esta clase, si no que creamos otras que herede de la primera, adquiriendo toda su funcionalidad y aadiendo la suya propia.

Reglas
La clase que va ser heredada se llama superclase, clase base o clase padre La clase que hereda se le conoce como subclase, clase derivada o clase hija.

super clase/ clase base

subclase/ clase derivada

Reglas

En Java no se permite la herencia mltiple


Clase A Clase X Clase A

Clase B

Clase B

Si es posible la herencia multinivel

Clase X

Una clase puede ser heredada por varias Clase A clases


Clase B Clase C

Relacin de la Herencia
La herencia entre dos clases establece una relacin entre las mismas de tipo es un, lo que indica que un objeto de la subclase tambin es un objeto de la superclase. Ejem.

super clase/ Vehculo super clase/ Animal subclase/ Mamfero subclase/ Coche subclase/ Len super clase/ Animal subclase/ Ave subclase/ guila

super clase/ Mamfero subclase/ Persona subclase/ Alumno

super clase/ Punto subclase/ Linea

Creacin de Herencia

Al momento de definir una clase que va a heredar a otra, se utiliza la palabra reservada extends seguida del nombre de la superclase:
public class subclase extends superclase{}

La nueva clase podra incluir atributos y mtodos propios para completar su funcin.

Polimorfismo

Es la posibilidad de utilizar una misma expresin para invocar a diferentes versiones de un mismo mtodo, determinando en tiempo de ejecucin la versin del mtodo que se debe ejecutar.

Encapsulamiento

Recordando un poco, una clase se compone de mtodos (determinan el comportamiento de los objetos de la clase) y de atributos (representan las caractersticas de los objetos de la clase). Los mtodos que se quieren exponer al exterior llevan el modificador de acceso pblico, por el contrario, los mtodos que solo sern accedidos al interior de la clase llevarn el modificador de acceso privado. La idea de encapsulacin es mantener los atributos de los objetos como privados y proporcionar acceso a los mismos a travs de mtodos pblicos (mtodos de acceso).

set Nombre_atributo: permite la escritura del atributo.


public void setEdad(parametro){atributo=parametro;}

get Nombre_atributo: permite la lectura del atributo.


public tipo_dato getEdad(){return atributo;}

Arreglos
Es un objeto en el que se puede almacenar un conjunto de datos de un mismo tipo. Cada elemento del arreglo tiene asignado un ndice numrico segn su posicin, siendo 0 el ndice del primero . Una de sus declaraciones se realiza de la siguiente manera:

tipo [] variable_arreglo; tipo variable_arreglo []; int [] k; String [] p; char cads []; Los arrayas pueden declararse en los mismos lugares que las variables estndar: como atributos de una clase o locales en el interior de un mtodo. Cuando el arreglo se declara como atributo se inicializa implcitamente con el valor de null.

Arreglos

Un arreglo se puede dimensionar, es decir, indicarle un tamao, y se declara de la siguiente manera: variable array=new tipo[tamao]; k=new int [5]; cads=new char[10]; String []noms=new String [10]; Cuando un array se dimensiona todos los elementos son inicializados explcitamente al valor por defecto del tipo correspondiente. Un array se pude declarar, dimensionar e inicializar en una misma sentencia: int [] nums = {10, 20, 30, 40};

Excepciones

Es una situacin anmala que puede producirse durante la ejecucin de un programa, por ejemplo un intento de divisin entre 0, un acceso a un arreglo fuera de sus limites o un fallo durante la lectura de datos en la entrada/salida. Mediante la captura de excepciones, Java proporciona un mecanismo que permite al programa sobreponerse a estas situaciones, con esto el programador decide las acciones a realizar para cada tipo de excepcin que pueda ocurrir. Tambin en Java pueden ocurrir errores, los cuales representan una situacin anormal irreversible. Si hay un error, la aplicacin no debera morirse, si no lanzar (throw) una excepcin que se capture (catch) y resolver la situacin de error. Java sigue el mismo modelo de excepciones que se utiliza en C++.

Excepciones

Cada tipo de excepcin esta representada por una subclase de Exception, mientras que los errores son subclases de Error, ambas son subclases de Throwable.
Objeto Throwable Exception Error

La clase Error, maneja los errores de la JVM La clase Exception, maneja errores del programa

Excepciones

Throwable
Clase base que representa todo lo que se puede lanzar en Java. Almacena un mensaje (en una variable de tipo String) que se puede utilizar para detallar qu error se produjo. Puede tener una causa, tambin de tipo throwable que permite representar el error que caus este error

Error
Excepciones que indican problemas muy graves, que suelen ser no recuperables y no deben casi nunca ser capturadas.

Exception
Excepciones no definitivas, pero que se detectan fuera del tiempo de ejecucin. RuntimeException (Excepciones que se dan durante la ejecucin del programa, errores del programador, como una divisin por cero o el acceso fuera de los limites de un array). IOException (errores que no puede evitar el programador, generalmente relacionados con la entada/salida del programa)

Excepciones
La captura de excepciones en Java se realiza a travs de try catch finally. Se pueden anidar sentencias catch, pero conviene hacerlo indicando en ltimo lugar las excepciones ms generales (es decir, que se encuentren ms arriba en el rbol de herencia de excepciones), porque el intrprete Java ejecutar aquel bloque de cdigo catch cuyo parmetro sea del tipo de una excepcin

lanzada.

Para insertar fragmentos de cdigo que se ejecuten tras la gestin de las excepciones. Este cdigo se ejecutar tanto si se ha tratado una excepcin (catch) como sino. Este tipo de cdigo se inserta en una sentencia finally, que ser ejecutada tras el

bloque try o catch


try {

// Cdigo posiblemente problemtico } catch( tipo_de_excepcion e) { // Cdigo para solucionar la excepcin e } catch( tipo_de_excepcion_mas_general e) { // Cdigo para solucionar la excepcin e }finally { // Se ejecutara tras try o catch }

Você também pode gostar