programación i - Universidad ORT Uruguay
programación i - Universidad ORT Uruguay
programación i - Universidad ORT Uruguay
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Programación I 53<br />
método, mensaje, herencia, polimorfismo, clase abstracta. Son casi todos los conceptos básicos<br />
de la orientación a objetos.<br />
Ahora, para empezar a profundizar, veremos el uso de clases standard y luego crearemos clases<br />
e instancias capaces de reconocer mensajes, y, en respuesta a esos mensajes, ejecutar métodos.<br />
5.4.1 Clase String<br />
En Java existen tipos de datos primitivos (como int o boolean) y tipo Clase. Un String en Java<br />
es una secuencia de caracteres. No es un tipo primitivo, es tipo Clase.<br />
Son especiales porque se pueden crear de dos formas:<br />
String s1 = "Ana";<br />
String s2 = new String ("Ana");<br />
Para referirse a los caracteres se utiliza la posición. La primera posición es 0. Las operaciones<br />
comunes en un string, por ejemplo s son:<br />
s.length() (da el largo)<br />
s.toUpperCase() (lo pasa a mayúsculas)<br />
s.indexOf(“A”) (retorna la posición de la letra "A" en s)<br />
Un tema importante tiene que ver con la comparación de strings. Supongamos que se tienen las<br />
siguientes definiciones:<br />
String s1, s2, s3;<br />
s1 = "Ana";<br />
s2 = "Ana";<br />
s3 = new String ("Ana");<br />
String s4;<br />
s4 = s3;<br />
Si se hacen las comparaciones:<br />
s1 == s2 es TRUE<br />
s1 == s3 es FALSE<br />
s1.equals(s2) es TRUE<br />
s1.equals(s3) es TRUE<br />
s1.compareTo(s2) es 0<br />
s1.compareTo(s3) es 0<br />
s4 == s3 es TRUE<br />
s3 y s4 son alias: refieren o "miran" al mismo objeto.<br />
Si se pone: s1 == s2, se compara referencias, no el valor. Pregunta si refieren al mismo lugar en<br />
memoria. La equivalencia se puede preguntar:<br />
s1.equals (s2)<br />
s1.equalsIgnoreCase(s2) (devuelve true si son iguales ignorando mayúsculas y<br />
minúsculas)<br />
s1.compareTo(s2)<br />
Tomar nota que compara lexicográficamente. El resultado es:<br />
0: s1 va después s2