ICOM 4015- PROGRAMACION AVANZADA Instructor: Héctor M Lugo Cordero

Anuncio
ICOM 4015- PROGRAMACION AVANZADA
Instructor: Héctor M Lugo Cordero
e-mail: hector.lugo@ece.uprm.edu
Laboratorio 3 – Métodos, Parámetros y Conversiones
I Teoría
En esta práctica aprenderán a crear clases en el lenguaje de programación de Java. A dicha clase
le crearán una lista de métodos los cuales efectuarán las operaciones que dicha clase podrá
realizar. Antes de proceder es necesario entender que es una clase. Una clase es un archivo que
define un objeto y su comportamiento. Un objeto es un tipo de dato que tiene propiedades en
común y es capaz de realizar ciertas operaciones a las que denotamos métodos. A continuación se
les muestra la estructura de un método:
<tipo_de_acceso> <tipo_de_retorno> <nombre_del_metodo>([parámetros …]){
Cuerpo del método
}
Note que la lista de parámetros es opcional y que un método puede recibir más de un parámetro.
Los parámetros se escriben de la forma <tipo_de_dato> <nombre_de_la_variable> y son
separados entre si por una coma (,).
Ejemplo:
public double MyPow(double r, int exp)
{
double result = r;
for(int i = 1; i < exp; ++i)
{
result = result*r;
}
return result;
}
Dentro de una clase hay un método cuyo nombre es el mismo de la clase y no tiene tipo de
retorno. A este método se le conoce como el constructor de la clase, el cual crea el objeto de dicha
clase.
1
Ejemplo:
public class MyClass{
private Object data;
public MyClass()
{
data = new Object(); //creación e inicialización del objeto
}
}
Tipos de acceso de un método:
Acceso
Descripción
private
El campo o el método sólo podrán ser vistos
dentro de la misma clase.
public
El campo o el método podrán ser vistos fuera
de la misma clase.
protected
Especifica que el campo/método está protegido
y para poder ser utilizados deben ser
implementados.
package
Agrupa en librerías una serie de clases.
static
Más bien modifica el acceso. Especifica que el
valor de la variable no será cambiado y será el
mismo para todas las instancias que existan del
objeto.
2
Tipos de datos primitivos y conversiones:
Tipo de dato
“Wrapper Class”
Descripción
byte
Byte
utilizado para almacenar 8 bits con
signo (números enteros entre -128
y 127)
short
Short
Utilizado para almacenar números
enteros entre -32768 y 32767
int
Integer
utilizado para almacenar números
enteros entre
-
2147483648 y 2147483647
long
Long
Utilizado para almacenar números
enteros entre
9223372036854775808 y
9223372036854775807
float
Float
número con cifra decimal
MIN_VALUE = 1.4E-45
MAX_VALUE = 3.4028235E38
double
Double
número con mayor precisión que
float
MIN_VALUE = 4.9E-324
MAX_VALUE =
1.7976931348623157E308
boolean
Boolean
almacena valores lógicos de
cierto/falso
char
Character
representa un caracter alfa-numérico,
para cadena de caracteres utilizar el
objeto String
void
Void
se utiliza para representar la ausencia
de valor
Los “Wrapper Classes” vistos en la tabla superior son utilizados por el lenguaje para convertir un
dato primitivo a un objeto para cuando sea necesario en la aplicación. Más adelante estudiarán
programación genérica donde los datos deben de estar siempre en un objeto.
3
Existen también otras técnicas de conversiones. Las mismas envuelven utilizar los métodos
brindados por las clases de objetos para los datos primitivos (valueOf, parseInt, parseDouble,
etc.) o hacer la conversión mediante una técnica conocida como “casting”.
Ejemplos:
A. Variable numérica a variable numérica:
int nro1 = 10;
double nro2 = 3.1416;
nro1 = (int)nro2;  casting
B. Variable numérica a string
int numero1 = 50;
String cad1 = String.valueOf(numero1);
C. Variable numérica a objeto numérico
Caso 1: usando constructor
int nro3 = 80;
Float nro4 = new Float(nro3);
Caso 2: ya existe el objeto numérico
Double nro5 = new Double(0);
int nro6 = 30;
nro5=Double.valueOf(String.valueOf(nro6));
D. String to variable numérica
String cad2 = new String("3.5");
double nro8 = 0;
nro8 = Double.parseDouble(cad2);
E. String a Objeto numérico
String cad3 = new String("50");
Double nro10 = new Double(0);
nro10 = nro10.valueOf(cad3);
4
II Ejercicios
Concatenación y comparación de cadenas.
A. Usando el método CONCAT de la clase String implemente una clase que:
//Declare los Strings:
String cadena1 = "estaba”;
String cadena2 = "desperto,";
String cadena3 = "alli";
String cadena4 = "todavía";
String cadena5 = "el dinosaurio";
String cadena6 = "Cuando";
//Construya la oración "Cuando desperto, el dinosaurio todavía estaba alli".
B. Compare los nombres usando el método compareTo de la clase String.
//Declare los Strings:
String nombre1 = "Maria";
String nombre2 = "Isabel";
String nombre3 = "Luis";
String nombre4 = "Victor";
String nombre5 = "Isabel";
//Compare los nombres de:
//Victor e Isabel
//Luis y Maria
//Maria y Victor
//Isabel con Isabel
//Describa como es que sabe si un nombre difiere o es igual a otro
C. Escriba un programa que dados los String: a1 = "3" y a2 = "2". Luego almacene los valos
en int num1 e int num2 respectivamente. Halle el coeficiente num1/num2 y verifique su
resultado. Ahora haga las correcciones necesarias para que el resultado salga con sus cifras
decimales.
D. Cree una clase Complex que represente números en coordenadas rectangulares (a+bi) y
realice las operaciones de: Suma, Resta y Conjugado Complejo. Recomendación: Resta  C1
+ C2*. C1 = a + bi; C2 = c + di. C1 + C2 = (a + c) + (b + d)i.
5
Descargar