Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Pedro Corcuera
Dpto. Matemtica Aplicada y
Ciencias de la Computacin
Universidad de Cantabria
corcuerp@unican.es
Objetivos
Explicar los conceptos bsicos de la
programacin orientada a objetos .
Diferenciar entre clases y objetos.
Diferenciar entre variables/mtodos de instancia
y variables/mtodos de clase (static).
Cast de tipos de datos primitivos y objetos.
Comparar objetos y determinar la clase de un
objeto.
Java
ndice
Java
Clases y Objetos
En el mundo real el trmino:
Objeto representa una entidad o cosa individual.
Una clase representa un grupo de objetos que exhiben
algunas caractersticas o comportamientos comunes.
Las clases son resultado de clasificacin.
Ejemplos de objetos en el mundo real:
Estudiantes
Estudiantes Graduados
Estudiante AnteGrado
Estudiantes Master
Estudiantes de Doctorado
Java
Clases y Objetos
Una clase define un componente software
autocontenido que representa una clase del mundo
real.
El diseo de clases debe seguir los principios bsicos
de la orientacin a objetos:
modularidad
encapsulacin
Clases y Objetos
Una clase define las caractersticas comunes de sus
instancias:
los comportamientos
las plantillas de los campos
Clases
Las clases se pueden pensar como una plantilla o
prototipo de un objeto.
Es una estructura fundamental en la POO.
Dos clases de miembros:
Campos (propiedades, variables). Especifican los tipos de
datos definidos por la clase.
Mtodos (comportamiento). Especifica las operaciones.
Objetos
Un objeto es una instancia de una clase (objeto de
instancia).
Los valores de las propiedades de un objeto es
diferente de otros objetos de la misma clase.
Los objetos de la misma clase comparten el mismo
comportamiento (mtodos).
Java
Mtodos de
Instancia
Variable de
Instancia
Clase Coche
Objeto Coche A
Objeto Coche B
Matrcula
ABC 4321
XYZ 1234
Color
Verde
Rojo
Fabricante
Fiat
BMW
Velocidad mx.
140
210
Acelerar
Girar
Frenar
Java
10
Creacin de Objetos
Para crear un objeto se usa el operador new.
Scanner in = new Scanner(System.in);
String str1 = new String(Hola Mundo!);
ArrayList<String> names = new ArrayList<String>();
Clase objeto
Scanner in = new..
11
Mtodos
Un mtodo es una pieza separada de cdigo que se
puede llamar por cualquier mtodo para realizar
alguna funcin especfica.
Los mtodos contienen el comportamiento de una
clase o la lgica del negocio.
Caractersticas de los mtodos:
Pueden o no devolver valores
Pueden o no aceptar varios parmetros o argumentos
Despus de terminar su ejecucin vuelve al mtodo que lo
invoc.
Java
12
Tipos de Mtodos
Mtodos de instancia (no estticos)
Son ms comunes que los mtodos estticos
Se llaman despus de haber creado un objeto de instancia
Sintaxis de la invocacin:
nombreObjeto.nombreMetodo(parametros);
Mtodos estticos
Se llaman sin instanciar una clase (sin usar new).
Pertenecen a la clase y se distinguen por la palabra
reservada static en su definicin
Sintaxis de la invocacin:
NombreClase. nombreMetodo(parametros);
Java
13
Mtodos estticos
System.out.println("10 ^ 3: " + Math.pow(10, 3));
int i = Integer.parseInt("10");
String hexEquiv = Integer.toHexString( 10 );
Java
14
15
Tipos de variables
Variables locales (automticas)
declaradas dentro del cuerpo de un mtodo
visibles slo dentro del cuerpo de un mtodo
se mantienen en una pila
Variable de instancia
declaradas dentro de una clase pero fuera de los mtodos
se crean por cada objeto instanciado
16
Alcance de variables
El alcance
determina dnde es accesible una variable en un
programa
determina el tiempo de vida de una variable o cunto
tiempo existe una variable en memoria
es determinado por la ubicacin de la declaracin de la
variable en el programa
Una variable declarada dentro de un bloque tiene como alcance
desde su declaracin hasta el final del bloque
Slo se puede declarar una variable con un nombre dentro del
mismo alcance, pero se puede tener dos variables con el mismo
nombre si no estn declaradas en el mismo bloque.
Java
17
Alcance de variables
Variables locales (automticas)
slo son vlidas desde la lnea en que son declaradas
hasta la llave de cierre del mtodo o bloque de cdigo
dentro del cual es declarada
Variables de instancia
vlida en tanto que el objeto est activo
18
Casting de tipos
Asignacin del tipo de un objeto a otro
Casting de tipos primitivos
Permite convertir los valores de un dato de un tipo a otro
tipo primitivo
Ocurre commnmente entre tipos numricos
Al tipo de dato boolean no se le puede hacer casting
Puede ser implcito: cuando se asigna una variable de un
tipo de menor orden a otro de mayor orden (p.e. int y
double)
Puede ser explcito: tiene la forma (tipo) valor
Java
19
Casting de objetos
Las instancias de clases tambin se les puede aplicar
un cast, con una restriccin:
Las clases origen y destino deben estar relacionadas por
herencia; una clase debe ser una subclase de otra
20
Java
21
22
Clases Wrapper
Integer
Double
Long
Ejemplos:
// crea instancia de la clase Integer con valor 7801
Integer dataCount = new Integer(7801);
// convierte un objeto Integer al tipo int
int newCount = dataCount.intValue();
// convierte un String al tipo int
String cants = "65000";
int canti = Integer.parseInt(cants);
Java
23
Comparacin de Objetos
Los operadores relacionales de comparacin ==
(igual) y != (diferente) aplicados a objetos
determinan si ambos lados del operador se refieren al
mismo objeto y no el valor de los objetos.
true
24
Java
25
Java
26
27
Clase Math
Ofrece constantes predefinidas y mtodos para la
realizacin de las operaciones matemticas
Documentacin Java SE 6 API
http://download.oracle.com/javase/6/docs/api/java/lang/Math.html
Java
28
29
Clase String
Representa combinaciones de caracteres literales
En Java, las cadenas de caracteres se pueden
representar usando:
Arrays de caracteres
La clase String
Un objeto String es diferente de un array de caracteres
30
31
32
Java
33
Clase StringBuffer
El problema con los objetos String es que una vez
creados no se pueden modificar (es una clase final)
Un objeto StringBuffer
es similar a un objeto String
puede ser modificado en longitud y contenido mediante
mtodos de la clase
Java
34
35
Clases Wrapper
Los tipos de datos primitivos no son objetos y por
tanto no pueden acceder a los mtodos de la clase
Object
Las clases Wrapper permiten la representacin en
objetos de los tipos primitivos
Java
36
Clases Wrapper
Tipo primitivo
Clase Wrapper
Argumentos Constructor
byte
Byte
byte o String
short
Short
short o String
int
Integer
int o String
long
Long
long o String
float
Float
Double
double o String
char
Character
char
boolean
Boolean
boolean o String
double
Java
37
Java
38
Clase Process
Representa los programas en ejecucin
Ofrece mtodos para la gestin de procesos
Ejecutar un proceso
Matar un proceso
Comprobar el estado de un proceso
Java
39
Clase Runtime
Representa el entorno de ejecucin
Algunos de los mtodos importantes son:
static Runtime getRuntime(): Returna el objeto runtime
asociado con la aplicacin en curso Java
Process exec (String command): Ejecuta el comando
especificado en un proceso separado
Java
40
Java
41
Clase System
Ofrecen muchos campo y mtodos tiles
Entrada standard
Salida standard
Mtodos de utilidad para copia rpida de una parte de un
array
Java
42
43
Java
44
Clase Properties
La clase Properties representa un conjunto
persistente de propiedades
La propiedades se pueden almacenar en o cargar
desde un stream, tpicamente un fichero
Cada campo y su correspondiente valor en la lista de
propiedades es una cadena de caracteres
Documentacin Java SE 6 API
http://download.oracle.com/javase/6/docs/api/java/util/Properties.html
Java
45
46
Clase Date
Representa un momento preciso de tiempo a nivel de
milisegundos
Los datos de fecha se representan como un tipo long
que cuenta el nmero de milisegundos desde el 1 de
Enero 1970 (Greenwich)
Documentacin Java SE 6 API
http://download.oracle.com/javase/6/docs/api/java/util/Date.html
Java
47
48