Sunteți pe pagina 1din 13

POO Manejo de Clases

1.1.

PROGRAMACIN ORIENTADA A OBJETOS EN JAVA


El desarrollo de la OOP empieza a destacar durante la dcada de lo 80 tomando
en cuenta la programacin estructurada, a la que engloba y dotando al
programador de nuevos elementos para el anlisis y desarrollo de software.
La programacin Orientada a objetos (POO) es una forma especial de programar,
ms cercana a como expresaramos las cosas en la vida real que otros tipos de
programacin.
En resumen, la programacin estructurada presta atencin al conjunto de acciones
que manipulan el flujo de datos (desde la situacin inicial a la final), mientras que
la programacin orientada a objetos presta atencin a la interrelacin que existe
entre los datos y las acciones a realizar con ellos.
1.3.1 Cmo se piensa en Objetos?
Pensar en trminos de objetos es muy parecido a cmo lo haramos en la
vida real. Por ejemplo vamos a pensar en una persona para tratar de
modelizarlo en un esquema de POO. Diramos que la persona es el elemento
principal que tiene una serie de caractersticas, como podran ser el nombre,
la edad, el sexo, etc. Adems tiene una serie de funcionalidades (Acciones)
asociadas, como pueden ser comer, caminar, dormir, etc.
1.3.2 Conceptos Bsicos
Clase
Es la agrupacin de objetos que comparten una misma naturaleza en un
nivel ms abstracto. Es decir es la abstraccin de un objeto.
Una CLASE es un proyecto, o prototipo, que define las variables y los
mtodos comunes a un cierto tipo de objetos.
Objeto
Es un elemento al cual se le puede distinguir caractersticas intrnsecas.
Los objetos son ejemplares de una clase cualquiera. Cuando creamos un
ejemplar tenemos que especificar la clase a partir de la cual se crear.
Un objeto contiene en s mismo la informacin y los mtodos o funciones
necesarios para manipular esa informacin.
Instancia
Es la creacin de un nuevo objeto a partir de una clase padre.
Estado
Es el conjunto de valores o datos que posee un objeto dentro de sus
propiedades.
El estado es lo que lo hace diferente a un objeto de otro.
De acuerdo a su estado se deriva la forma de comportamiento de
un objeto.

Nota: Para instanciar un objeto se requiere de la construccin de un


estado.

Ejemplo
Una fraccin, es decir, esa estructura matemtica que tiene un numerador y
un denominador sera un objeto el cual tiene dos propiedades: El
numerador y El denominador.
Y sus mtodos seran: simplificarse, sumarse, con otra fraccin o nmero,
restarse con otra fraccin, etc.
1.3.3. Las Clases en Java
Java es netamente un Lenguaje Orientado a Objetos, por lo tanto, lo
primero que debe crear para construir una aplicacin es una clase. Los
nombres de las clases en Java deben empezar con una Letra mayscula y
deben situarse dentro de un paquete.
Recuerde que una clase es la agrupacin de objetos que comparten una
misma naturaleza en un nivel ms abstracto. Es decir es la abstraccin de
un objeto.
1.3.3.1. Las propiedades de una clase
Las propiedades son las caractersticas inherentes de un objeto, siempre
estas nos devuelven un tipo de dato.
Ejemplo: A la clase Persona se le puede distinguir las propiedades:
Apellidos, Edad, Sexo, etc.
Tambin se le conoce como variables de Objeto.
Creacin de las Propiedades
public class Persona {
public String apellido;
public int edad;
public boolean sexo;
}

1.3.3.2. Los Mtodos de una clase


Tiene que ver con las acciones o responsabilidades que realiza el objeto.
Los objetos disponen de una serie de funcionalidades (Acciones)
asociadas.
Ejemplo: El objeto Persona tiene los siguientes mtodos: comer, caminar,
dormir, etc.

Creacin de Mtodos
public void comer()
{
// como come
}

// mtodo comer

public void caminar()


{
// como camina
}
public boolean cualestusexo()
{
return sexo;
propiedad
}

// mtodo caminar

// mtodo cualestusexo
// retorna el valor de una

1.3.3.3. Los Estados de una Clase


Es el conjunto de valores o datos que posee un objeto dentro de sus
propiedades. El estado es lo que lo hace diferente a un objeto de otro. De
acuerdo a su estado se deriva la forma de comportamiento de un objeto.
Creacin de Los Estados
public persona(String a, int e, boolean s)
{
apelllido=n;
edad=e;
sexo=false;
}
public persona(String n, int e) {
nombre=n;
edad=e;
}
1.3.3.4. La Instancia de una Clase
Es la creacin de un nuevo objeto a partir de una clase padre.
Nota:
Para instanciar un objeto se requiere de la construccin de un estado.
El instanciamiento de un Objeto debe estar indicado dentro del mtodo
esttico main.
Instanciamiento en Java:
Persona p1=new Persona(Ruiz",30);
Persona p2=new Persona(Vasquez",15);
Persona p3=new Persona(Gmez",15,false);

1.3.3.5. Referencia de un Objeto


Permite asignar al objeto instanciado otros nombres, sin que este objeto
instanciado se duplique al recibir otras referencias. Un objeto puede tener
una, ninguna o muchas referencias. Si se Cambia el valor de una propiedad
de alguna de las referencias del objeto, este cambio afecta a todas las
referencias y al mismo objeto instanciado, porque en s se trata de un solo
objeto y no de varios.
Creacin de una Referencia:
Martha=p2;

// El objeto Martha recibe la referencia de p2

1.3.3.6. Variables Estticas


Son aquellas variables cuyo mbito pertenecen a toda la clase, es decir sus
valores siempre van a ser los mismos para todos los objetos instanciados.
Declaracin de una variable esttica:
public static int sumaDeEdades;
public static int numerodePersonas;
1.3.3.7. Mtodos Estticos
Son aquellas acciones o funciones que pertenecen exclusivamente a la
clase y no a un objeto instanciado en particular.
Creacin de un mtodo esttico
public static double promedio()
{
return sumaDeEdades/numerodePersonas;
}
1.3.3.8. Acceso a los mtodos y variables estticas
Para acceder a una variable esttica no se requiere de un objeto
instanciado para su utilizacin y se invoca desde la clase misma.
Ejemplo:
Persona.numerodePersonas
Lo mismo se cumple para acceder a los mtodos estticos, se invocan
desde la clase misma.
Ejemplo:
Persona.promedio()

1.4.

CLASES BASE: CLASE MATH Y CLASE STRING


1.4.1. La Clase Math
Es una de las clases principales de Java ubicada en el paquete java.lang. Esta
clase contiene una serie de mtodos estticos que nos ofrecen algunas funciones
matemticas importantes, a las que podemos acceder desde cualquier otra clase
de la siguiente manera:

Math.abs(-5)
Clase de Java

Mtodo esttico

1.4.2. Mtodos estticos de la Clase Math


Mtodo Esttico
abs()
acos()
asin()
atan ()
atan2(,)
ceil ()
floor ()
round ()
rint ()
cos()
Sin()
tan()

Significado
Devuelve el valor absoluto
Devuelve el arcocoseno
Devuelve el arcoseno
Arcotangente entre PI/2 y PI/2
Arcotangente entre PI y PI
Entero ms cercano en direccin a infinito
Entero ms cercano en direccin a infinito
Entero ms cercano al argumento
Entero ms prximo
Calcula el coseno
Calcula el seno
Calcula la tangente

exp()

Calcula la funcin exponencial

log()

Calcula el logaritmo natural (base e)

max ( , )

Obtiene el mximo de dos argumentos

min( , )

Obtiene el mnimo de dos argumentos

random ()

Nmero aleatorio entre 0.0 a 1.0

pow ( , )

Devuelve el primer argumento elevado al


segundo

sqrt ()

Devuelve la raz cuadrada

toDegrees ()

Pasa de radianes a grados

toRadians()

Pasa de grados a radianes

1.4.3. La Clase String


La Clase String es tambin una de las clases principales de Java, ubicada
en el paquete java.lang. Esta clase contiene una serie de mtodos
estticos orientados al manejo de las cadenas de caracteres. Recordemos
que en Java una cadena de caracteres (String) no es un dato primitivo, sino
mas bien corresponde a una clase, por lo tanto podemos decir que todas
las cadenas son objetos instanciados de la clase String.
Creacin de cadenas de texto:
Primera Forma:
String Apellidos;
Apellidos=Vargas Martinez;
Segunda Forma:
String Apellidos;
Apellidos=new String(Vargas Martinez);
Cmo acceder a un mtodo esttico de la clase String?
Para acceder a un mtodo esttico de la clase String, debemos hacerlo
desde uno de los objetos instanciados.
Ejemplo:
int n=Apellidos.length()
1.4.4.

//Devuelve la longitud de la cadena //apellidos

Mtodos estticos de la Clase String

Mtodo
Esttico

Significado

length()

Devuelve la longitud de una cadena

startsWith

Devuelve verdadero si la cadena empieza con

reverse()

Devuelve la cadena en sentido inverso

ValueOf

Devuelve la representacin como String

IndexOf( , )

Devuelve la posicin de un carcter dentro de una


cadena
Extrae una determinada cantidad de caracteres de una
cadena

Substring( , )
toLowerCase()

Convierte una cadena a maysculas

toUpperCase()

Convierte una cadena a minsculas

trim()

Elimina espacios en blancos antes y despus de la


cadena
Devuelve el carcter asociado a una posicin.

charAt( )

PRUEBA DE AUTOEVALUACIN I
1. Es propietaria de Java
a) Microsoft

b) Sun

c) Adobe

d) Macromedia

2. Los archivos compilados que generan ceros y unos, se denominan


a) ByteCodes

b) Clase

c) Intrprete

d) Compilador

3. El interprete que ejecuta la aplicacin Java se denomina


a) Class

b) Compiler

c) JavaVM

d) Ninguno

c) JDBC

d) Frames

4. No es una tecnologa de Java


a) Servlets

b) Applets

5. La variable que determina el nmero de notas ingresadas se denomina


a) Contador

b) Operador

c) Clase

d) Acumulador

6. short, byte, int son tipos de datos:


a) Bsicos

b) Primitivos c) Numricos d) Referenciales

7. Realiza una accin mientras se cumpla una determinada condicin


a) if

b) switch

c) for

d) while

8. Realiza acciones un nmero determinado de veces controlado por


contador
a) while

b) for

c) if

d) switch

9. No es un mtodo de la clase Math


a) pow

b) round

c) sqrt

d) avg

10. Extrae una determinada cantidad de caracteres de una cadena


a) length

b) valueOf

c) substring

d) charAt

Clave de Respuestas
1. b
2. a
3. c
4. d

5. a
6. b
7. d

8. b
9. d
10. c

FUNDAMENTOS DE JAVA Y LA POO

2.1.

CONVERSIN DE TIPOS DE DATOS (Wrappers y Casting)


Los Wrappers o envolturas son clases diseadas para ser un complemento de los
tipos primitivos. En Java podemos envolver o proteger nuestros datos primitivos a
travs de estas clases, con la finalidad de convertir datos o para transferir datos a
travs de una red
2.1.1. Existe una clase Wrapper para cada uno de los tipos primitivos:
Dato Primitivo
int.
Double
Long
short
char
bolean

Wrapper
Integer
Double
Long
Short
Carcter
Bolean

Ejemplos prcticos con Wrappers


//Se crea la variable nmero, de tipo int (es un dato primitivo)
int numero=15;
//valor es un objeto instanciado de la clase o wrapper Integer y
//recibe un dato primitivo 15
Integer valor=new Integer(15);
// El mtodo intvalue de un Wrapper nos permite acceder al dato
//primitivo inmerso en l.
int num=valor.intvalue();
2.1.2. Wrappers para convertir datos
//Asumamos para los siguientes ejemplos que a vale 3 y b vale 2
//Ambos son String
String a=3;
String b=2;
Convertir de String a int
int total=Integer.parseInteger(a)+Integer.parseInteger(b);
Convertir de String a double
double total=Double.parseDouble(a)+Double.parseDouble(b);

El mtodo intvalue de un Wrapper nos permite acceder al dato primitivo


inmerso en l.
2.1.3. Casting
Es un mecanismo que usa Java para convertir datos, el Casting solo sirve para
conversin entre datos numricos (enteros, decimales y char).
Sintaxis:
(tipo a convertir) <dato a convertir>;
Ejemplos prcticos con Casting
Convertir de double a int (pierde precisin)
double monto=17.9932;
int montotruncado=(int)monto;
Convertir de int a double (gana precisin)
int nota=16;
double n=(double)nota;
Convertir de char a int
char c=@;
int x=(int)c;
Convertir de int a char
int c=35;
char x=(char)c;
Nota: Los datos de tipo char son tipos numricos para Java, cada char esta
relacionado al valor ASCII equivalente. Ejemplo:
El char @ para Java representa internamente 64
2.1.4. Otros tipos de conversiones
Convertir a String:
Esta forma de conversin lo podemos lograr a travs del mtodo
valueOf de la Clase String
Ejemplo:
int valor=12;
String valorCad=String.valueOf(valor);
Nota: El mtodo valueOf funciona para convertir datos int, double, float, long, y
char.

2.2.

LAS FECHAS EN JAVA


A diferencia de otros lenguajes de programacin, Java trata a las fechas como
objetos instanciados de cualquiera de las siguientes clases:

Clase Date

Clase GregorianCalendar
Nota: Para utilizar estas clases previamente las debe importar, colocando en la
parte superior de la clase, la siguiente lnea:
import java.util.Date;
2.2.1. La Clase Date
Existen tres formas de instanciar fechas a partir de la Clase Date:
// Obtiene la fecha actual
Date f=new Date();
//Obtiene la fecha que corresponda a la cantidad de milisegundos
//transcurridos desde el 01/01/1970
Date f1=new Date(86400000);
//Obtiene una fecha que corresponda al ao 2004, Mes Octubre, da 12,
//con 15 Horas, 10 minutos y 25 segundos.
Date f2=new Date(104,9,12,13,05);
Un objeto instanciado de esta clase representa un instante de tiempo dado con
precisin de milisegundos. La informacin sobre fecha y hora se almacena en un
entero long de 64 bits, que contiene los milisegundos transcurridos desde las
00:00:00 del 1 de enero de 1970 GMT (Greenwich mean tim).
2.2.2. Mtodos de la Clase Date
Mtodo
after()

before()
getTime()
setTime()
equals()
compareTo()

Propsito
Devuelve verdadero si la fecha del argumento se
encuentra despus de la fecha implcita Falso en caso
contrario.
Devuelve verdadero si la fecha del argumento se
encuentra antes de la fecha implcita. Falso en caso
contrario.
Obtiene los milisegundos transcurridos desde el
01/01/1970.
Establece los milisegundos transcurridos desde el
01/01/1970.
Tienen las mismas funciones que en la Clase String

2.2.3. Clases Calendar y GregorianCalendar

La clase Calendar asocia una fecha a un Sistema de Calendario


especfico, con este fin, Java nos provee la sub-clase: GregorianCalendar
la cual est basada en el Calendario Gregoriano que se usa actualmente
en la mayora de pases.
Dispone de mtodos para convertir objetos de la clase Date en enteros que
representan fechas y horas concretas.
Nota: Para utilizar estas clases previamente las debe importar, colocando en la
parte superior de la clase, las siguientes lneas:
import java.util.Calendar;
import java.util.GregorianCalendar;
2.2.4. La Clase GregorianCalendar
public static void main(String arg[ ]) {
Date d = new Date();
GregorianCalendar gc = new GregorianCalendar();
gc.setTime(d);
System.out.println("Year: "+gc.get(Calendar.YEAR));
System.out.println("Month: "+gc.get(Calendar.MONTH));
System.out.println("Hora: "+gc.get(Calendar.HOUR));
}
2.2.5. Mtodos y Constantes de la Clase Calendar
La variable int AM_PM puede tomar dos valores: las constantes enteras
AM y PM.
La variable int DAY_OF_WEEK puede tomar los valores int SUNDAY,
MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY y
SATURDAY.
La variable int MONTH puede tomar los valores int JANUARY,
FEBRUARY, MARCH, APRIL, MAY, JUNE, JULY, AUGUST,
SEPTEMBER, OCTOBER, NOVEMBER, DECEMBER. Para hacer los
programas ms legibles es preferible utilizar estas constantes simblicas
que los correspondientes nmeros del 0 al 11.
La variable miembro HOUR se utiliza en los mtodos get() y set() para
indicar la hora de la maana o de la tarde (en relojes de 12 horas, de 0 a
11).
La variable HOUR_OF_DAYsirve para indicar la hora del da en relojes de
24 horas (de 0 a 23).
Las
variables
DAY_OF_WEEK,
DAY_OF_WEEK_IN_MONTH,
DAY_OF_MONTH (o bien DATE), DAY_OF_YEAR, WEEK_OF_MONTH,
WEEK_OF_YEAR tienen un significado evidente.
Las variables ERA, YEAR, MONTH, HOUR, MINUTE, SECOND,
MILLISECOND tienen tambin un significado evidente.
Las variables ZONE_OFFSET y DST_OFFSET indican la zona horaria y
el desfase en milisegundos respecto a la zona GMT.

2.2.6. Diferencia entre dos fechas


public static void main(String arg[]) {
Date d=new Date();
Date fn=new Date(104,9,8);
long difm=d.getTime()-fn.getTime();
long difd= (difm /86400000L);
System.out.println("Dias transcurridos:"+difd);
}

2.2.7. Incrementar una cantidad de tiempo a una fecha


public static void main(String arg[ ]) {
GregorianCalendar gc=new GregorianCalendar();
// Obtenemos da y mes de fecha actual
Calendar cal = Calendar.getInstance();
Date date = new Date();
cal.setTime(date);
int year = cal.get(Calendar.YEAR);
int month = cal.get(Calendar.MONTH);
int day = cal.get(Calendar.DAY_OF_MONTH);
// Sumamos 20 das al campo da en el Calendar
cal.set(Calendar.DAY_OF_MONTH, day+20);
month = cal.get(Calendar.MONTH);
day = cal.get(Calendar.DAY_OF_MONTH);
year=cal.get(Calendar.YEAR);
System.out.println(day+"/"+(month+1)+"/"+year);
}

2.2.8. Formato de Fechas


Formatear una fecha consiste en personalizar la presentacin de las
fechas. Para este fin contamos con la clase SimpleDateFormat, la cual
debemos importarla desde el paquete java.text.SimpleDateFormat
public static void main(String arg[]) throws ParseException {
SimpleDateFormat sdf1 = new SimpleDateFormat("dd-MM-yyyy
hh:mm:ss");
SimpleDateFormat sdf2 = new SimpleDateFormat("dd-MM-yy");
// De String a Fecha
Date d = sdf1.parse("12-04-1968 11:23:45");
//De Date a String
String s = sdf2.format(d);
System.out.println(s);
}

S-ar putea să vă placă și