Documente Academic
Documente Profesional
Documente Cultură
ATRIBUTOS
CLASE =
+
METODOS
modificador
clase
private
protected
public
default
Calificador
static
final
atributos
Solo mtodos definido
en la clase tiene acceso a
estos atributos. No se
heredan
Tiene acceso las clases
del mismo paquete y las
subcalse
Se puede acceder al
atributo desde fuera de
la clase
Las clase del mismo
paquete pueden acceder
al atributo
mtodos
solo puede ser
convocado desde un
mtodo definido en la
clase. No se heredan
Tiene acceso las clases
del mismo paquete y las
subcalse
Se puede accede al
mtodo desde fuera de la
clase
Las clase del mismo
paquete pueden acceder
al atributo
atributos
El atributo es de clase.
Todas las instancia de la
clase lo comparten
mtodos
El mtodo es de clase.
No se necesita una
instancia para
convocarlo
El mtodo no puede ser
redefinido en la subclase
El atributo es una
constante
Cuenta
saldo : double
nrocuenta : long
titular : Cliente
getNroCuenta() : long
getSaldo() : double
depositar(unMonto : double) : void
extraer(unMonto : double) : void
Bloque
Invocado
Puede
Tiene
Sintaxis
<modificador> nombreClase(tipo_de_Dato identificador, tipo_de_Dato identificador, ...)
{
//instrucciones del cosntructor
}
Cuenta
saldo : double
nrocuenta : long
titular : Cliente
getNroCuenta() : long
getSaldo() : double
depositar(unMonto : double) : void
extraer(unMonto : double) : void
Tipos de mtodos
Accesor(getters)
forma estndar de recuperar datos almacenados en atributos de un objeto.
Mutadores(setters)
forma estndar de almacenar datos en atributos de un objeto
Mtodos personalizados(custom)
conjunto de instrucciones para realizar determinada tarea tambin
denominamos mtodos de negocio
Cuenta
saldo : double
nrocuenta : long
titular : Cliente
//Constructores
public Cuenta()
{
}
getNroCuenta() : long
getSaldo() : double
depositar(unMonto : double) : void
extraer(unMonto : double) : void
//Mtodos
public long getNorCuenta()
{
}
public void depositar(double
unMonto)
{
}
}
Cuenta
saldo : double
nrocuenta : long
titular : Cliente
//Constructores
public Cuenta()
{
}
getNroCuenta() : long
getSaldo() : double
depositar(unMonto : double) : void
extraer(unMonto : double) : void
Herencia
Mecanismo por el cual atributos y mtodos son adquiridos desde una
clase generalizada(suprclase) para ser utilizados en una clase ms
especfica(subclase)
relacin es un
Cuenta
saldo : double
nroCuenta : long
titular : Cliente
Cuenta()
Cuenta(unNro : long)
getNroCuenta() : long
getSaldo() : double
depositar(unMonto : double)
es un
CajaAhorro
maximaExtraciones : int
extraccionesRealizadas : int
CajaAhorro()
CajaAhorro(unNrocta : long, nroMax : int)
extraer(unMonto : double)
CuentaEspecial
depositar(unMonto : double)
Cuenta()
Cuenta(unNro : long)
getNroCuenta() : long
getSaldo() : double
depositar(unMonto : double)
CajaAhorro
maximaExtraciones : int
extraccionesRealizadas : int
CajaAhorro()
CajaAhorro(unNrocta : long, nroMax : int)
extraer(unMonto : double)
depositar(unMonto : double)
La
Asociacin
class Kitchen
{
Stove myStove;
Refrigerator myRefrigerator;
public void setStove (Stove aStove)
{
myStove = aStove;
}
public void setRefrigerator (Refrigerator
aRefrigerator)
{
myRefrigerator = aRefrigerator;
}
}
Composicin
class Seat
{
//lo que la clase hace
}
class Wheel
{
// lo que la clase hace
}
class Frame
{
// lo que la clase hace
}
class Car
{
Seat mySeat = new Seat();
Wheel myWheel = new Wheel();
Frame myFrame = new Frame();
//etctera
}
El
Los
Estructuras de Control
Seleccin
If(condicin)
sentencia por verdadero;
else
sentencia por falso;
If(condicin){
sentencias por verdadero;
}else{
sentencia por falso;
}
If(condicin){
sentencia por verdadero;
}else if(condicin){
sentencia por falso;
}else{
sentencia/s;
}
Ejemplo
If(a>b)
System.out.println( a + > + b);
else
System.out.println( a + > + b);
If(a>100)
System.out.println( a + > + 100);
elseif(a>50){
b=a;
System.out.println( a + > + b);
}else
c = a;
Estructuras de Control
Seleccin
Switch valor{
case cosntant
sentencias;
breack;
case cosntant
sentencias;
breack;
case cosntant
sentencias;
breack;
default
case cosntant
sentencias;
breack;
}
Ejemplo
Switch valor{
case A
System.out.println(Alta);
breack;
case B
System.out.println(Baja);
breack;
case Q
System.out.println(Salir);
breack;
default
System.out.println(Error);
breack;
}
Estructuras de Control
Repetitivas - While - do while for
while(condicin)
sentencia por verdadero;
while(condicin){
sentencias por verdadero;
}
do{
sentencia/s;
}while(condicin)
for(inicial,condicin,incremento)
sentencia;
for(inicial;condicin;incremento){
sentencias;
}
Ejemplo
While(a<100){
System.out.println(a);
a++;
}
do{
System.out.println(a);
a++;
}while(a=101)
for(int i = 0;i <=100;i++){
System.out.println(a);
}
se pueden importar
import java.io.*
import java.io.FileNotFoundException
class Manager
{
int employeeNumber;
String name;
int departmentNumber;
int extensionNumber;
int salary;
int numberOfWorkers;
// etctera
}
se empaquetar
package empresa.miAplicacion
import java.io.*
import java.io.FileNotFoundException
class Manager
{
int employeeNumber;
String name;
int departmentNumber;
int extensionNumber;
int salary;
int numberOfWorkers;
// etctera
}
heap
nroCta = 248
Saldo = 940,45
nroCta = 45
Saldo = 540,45
cta1.extraer(250);
stack
cta1
Referencia a
una instancia
de la clase
Cuenta
Mensaje de
instancia
heap
nroCta = 248
Saldo = 940,45
cta2
nroCta = 45
Saldo = 540,45
Iibb=0,34
stack
cta1
heap
nroCta = 248
Saldo = 940,45
cta2
nroCta = 45
Saldo = 540,45
Cuenta.setIIBB(0,35);
stack
cta1
Clase
Mensaje de
Clase
heap
nroCta = 248
Saldo = 940,45
cta2
nroCta = 45
Saldo = 540,45
Cualificador final
El cualificador final utilizado en la definicin de la clase
private final class NombreDeLaClase;
Determina que esta clase no podr tener sub clases.
El cualificador final utilizado en la definicin deun mtodo
private final void nombreMetodo() {};
Determina que est mtodo no podr ser sobreescrito en las
subclases.
El cualificador final y abstract son mutuamente excluyente
Cualificador final
El cualificador final utilizado en la definicin de un atributo
private final atributo;
Determina la creacin de una constante.
Una constante implica que como mximo este atributo puede tener
una operacin de asignacin, la cual puede estar en:
Cuando
se define el atributo
o en el constructor de la clase
Cualificador final
El cualificador final utilizado en la definicin de un atributo
private final atributo;
Determina la creacin de una constante.
Una constante implica que como mximo este atributo puede tener
una operacin de asignacin, la cual puede estar en:
Cuando
se define el atributo
o en el constructor de la clase
Explcito:
*El tipo de la variable destino es de un rango menor al tipo de la
variable que se va a convertir.
long a = 4;
int b = (int)a;
Clase Abstracta
public abstract class Cuenta {
/**
* @attribute
*/
private String nroCta;
/**
* @attribute
*/
private double saldo;
/**
* @attribute
*/
private static double iibb;
public Cuenta(String nroCta, doubel saldo) {
}
public Cuenta() {
}
public abstract void extraer(double unMonto) ;
}
Clase Abstracta
public abstract class Cuenta {
/**
* @attribute
*/
private String nroCta;
/**
* @attribute
*/
private double saldo;
/**
* @attribute
*/
private static double iibb;
public Cuenta(String nroCta, doubel saldo) {
}
public Cuenta() {
}
public abstract void extraer(double unMonto) ;
}
class CajaAhorro
{
private int nro;
private double saldo;
// etctera
}
Genralizacin
class Cuenta
{
private int nro;
private double saldo;
// etctera
}
class CuentaCorriente
{
private int nro;
private double saldo;
private double descubierto;
// etctera
}
class Cuenta
{
private int nro;
private double saldo;
// etctera
}
Especializacin
Especializacin
Los
class Cuenta
{
private int nro;
private double saldo;
public Cuenta(){}
public Cuenta(int nro,doble saldo)
{
this.nro = nro;
this.saldo= saldo;
Especializacin
}
}
Especializacin
public CajaAhorro(){
}
public CuentaCorriente(){}
public CajaAhorro(int nro,double saldo){ public CuentaCorriente(int unNro,double unSaldo,double descu)
super(nro,saldo);
{
super(unNro,unSaldo);
}
this.descubierto = descu;
}
}
class Cuenta
{
private int nro;
private double saldo;
public void extraer(double unMonto)
{
this.saldo -= unMonto;
}
}
Especializacin
Especializacin
class Cuenta
{
private int nro;
private double saldo;
public void extraer(double unMonto)
{
this.saldo -= unMonto;
}
}
Especializacin
Genera un error
de Compilacin
Especializacin
class Cuenta
{
private int nro;
private double saldo;
public void extraer(double unMonto)
Variable Local: debe
ser inicializada en
forma explicita
Especializacin
{
this.saldo -= unMonto;
}
}
Variable Local:
recibidada como
argumento.
Especializacin
class Cuenta
{
private int nro;
private double saldo;
public void extraer(double unMonto)
{
this.saldo -= unMonto;
}
}
Especializacin
Especializacin
Especializacin
}
}
Especializacin
class CuentaCorriente extends Cuenta
{
private double descubierto;
public void extraer(double unMonto){
if((this.getSaldo() + this.descubierto) >= unMonto)
super.extraer(unMonto);
}
}
Los mtodos
abstractos no
tienen cuerpo
Especializacin
Especializacin
Clase Abstracta
public class Cuenta {
/** ... */
private String nroCta;
/**...*/
private double saldo;
/**...*/
private static double iibb;
public Cuenta(String nroCta, double saldo) {...
public Cuenta() {...
return retorno;
}
}
}
public class CtaCte extends Cuenta {
/**
* @attribute
*/
private double descubierto;
return retorno;
}
...
}
return retorno;
}
}
Iibb=0,34
heap
nroCta = 248
Saldo = 940,45
cta2
nroCta = 45
Saldo = 540,45
Interface
Un interface es parecido a una clase abstracta en Java, pero con las
siguientes diferencias:
- Todo mtodo es abstracto y pblico sin necesidad de declararlo. Por
lo tanto un interface en Java no implementa ninguno de los
mtodos que declara.
- Los atributos del interface sern las atributo de clase.
- Un interface se implementa (implements) no se extiende (extends) por
sus subclases.
- Una clase puede implementar ms de un interfaz en Java, pero slo
puede extender una clase. Es lo ms parecido que tiene Java a la
herencia mltiple, que de clases normales est prohibida.
- Podemos declarar variables del tipo de clase del interfaz, pero para
inicializarlas tendremos que hacerlo de una clase que lo implemente.
Interface
La principal diferencia entre interface y abstract es que un interfaz proporciona
un mecanismo de encapsulacin de los protocolos de los mtodos sin forzar al
usuario a utilizar la herencia
Ejemplo
Caractersticas de los arreglos:
Tipos de Datos homogneos
Tamao esttico.
Operaciones:
Agregar un elemento
Eliminar un elemento
Buscar un elemento
Ordenar
Ejemplo - Solucin
Se define una clase que encapsula todo el funcionamientos y
datos que debe mantener un arreglo, y una interface que ser
los elementos a ser agregados en el arreglo.
Ejemplo - Solucin
Ejemplo - Solucin
Ejemplo - Solucin
Ejemplo - Solucin
Ejemplo - Solucin
Ejemplo - Solucin
Ejemplo - Solucin
Ejemplo - Solucin
El tipo de Dato determina si la operacin
es validad.
La instancia busca en su clase la
implementacin
Ejemplo - Solucin
Ejemplo - Solucin
Ejemplo - Solucin
Collections
Una coleccin ( a veces llamada contenedor)
son objetos que agrupan multiples objetos
en una unidad.
Las coleccines son estructuras de datos
dinmicas.
El framework de Colecciones se encuenta en el
paquete: java.util.
Collection
List
Set
SortedSet
AbstractCollection
AbstractList
AbstractSet
AbstractSequentialList
LinkedList
ArrayList Vector
HashSet
TreeSet
LinkedTreeSet
Map
SortedMap
AbstractMap
HashMap
LinkedHashMap
TreeMap
Lists
Es un set de pares
Collection
// Basic Operations
size():int;
isEmpty():boolean;
contains(Object):boolean;
add(Object):boolean;
// Optional
remove(Object):boolean;
// Optional
iterator():Iterator;
// Bulk Operations
containsAll(Collection):boolean;
addAll(Collection):boolean;
//
removeAll(Collection):boolean; //
retainAll(Collecton):boolean;
//
clear():void;
//
// Array Operations
toArray():Object[];
toArray(Object[]):Object[];
Optional
Optional
Optional
Optional
List
// Positional Access
get(int):Object;
set(int,Object):Object;
add(int, Object):void;
remove(int index):Object;
addAll(int, Collection):boolean;
// Search
int indexOf(Object);
int lastIndexOf(Object);
// Iteration
listIterator():ListIterator;
listIterator(int):ListIterator;
// Range-view List
subList(int, int):List;
//
//
//
//
Optional
Optional
Optional
Optional
Map
// Basic Operations
put(Object, Object):Object;
get(Object):Object;
remove(Object):Object;
containsKey(Object):boolean;
containsValue(Object):boolean;
size():int;
isEmpty():boolean;
// Bulk Operations
void putAll(Map t):void;
void clear():void;
// Collection Views
keySet():Set;
values():Collection;
entrySet():Set;
Un objeto que
implementa la
interfaceIterator
genera a serie de
elementos uno a la
vez
El mtodo next()
retorna el siguiente
elemento de la serie.
El mtodo remove()
elimina de la coleccin
el ltimo elemento
retornado por next().
Iterator
hasNext():boolean;
next():Object;
remove():void;
La interface
ListIterator
extends Iterator
Es posible moverse
en ambas direcciones
en la serie
ListIterator esta
disponible para
Lists,
particularmente en
la implementacin
LinkedList
ListIterator
hasNext():boolean;
next():Object;
hasPrevious():boolean;
previous(): Object;
nextIndex(): int;
previousIndex(): int;
remove():void;
set(Object o): void;
add(Object o): void;
Interface
Set
Implementation
HashSet
List
Map
TreeSet
ArrayList
HashMap
Historical
LinkedList
TreeMap
Vector
Stack
HashTable
Properties
Operacin
Collection
Map
Declarar
Collection miColeccion;
List miList;
Set miSet;
LinkedList miColeccion
Map miColeccion;
HashMap miColeccion;
Crear
Agregar un Elemento
Collection
add(Object ob)
miColeccion.add(unObjeto);
Lista
add(int index,Object aObject)
miColeccion.add(i,unObjeto)
Operacin
Agregar varios
elementos
Eliminar un Elemento
Eliminar Varios
Elementos
Collection
Map
Collection
addAll(Collection unaColeccion)
miColeccion.addAll(unaColeccion);
List
addAll(int i,Collection cols)
miList.addAll(i,unaColeccion)
putAll(Map unMap)
Collection
remove(Object aObject)
miColeccion.remove(unObjeto)
List
remove(int i)
miList.remove(i);
remove(object clave)
removeAll(Collection aCollection)
miCollection.removeAll(unaCols)
miColeccion.putAll(unMap);
miColeccion.remove(clave)
Operacin
Recuperar un
Elemento
Informacin
Collection
Map
Collection
Utilizando el Iterator
List
get(int index)
Object unObj = miCollection.get(i)
get(Object clave)
contains(Object unObjeto):boolean
size():int
isEmpty():boolean
containAll(Collection unaColeccion)
unObj = micoleccion.get(clave);
La coleccin de tipo set no permite elementos repetidos, por lo que hay que
Sobre escribir el mtodo equals.
La coleccin de tipo set no permite elementos repetidos, por lo que hay que
Sobre escribir el mtodo equals.
HashSet
TreeSet
Exception
Object
Throwable
Error
Exception
Runtime
Exception
Throws
Throw
Try{}
catch{}
Try{
Bloque de codigo que
puede generar una
exception
} catch{Exception1 id1}
{bloque de codigo}
catch{Exception2 id1}
{bloque de codigo}
finally()
{
}
Exception
Definir Exception propias
1. - Crear un clase que
extienda de Exeption
public class CuentaException extends
Exception
{
public CuentaException(String mensaje)
{
super(mensaje);
2.- Crear la clase que
}
genere la Exception
}