Download Lenguaje de programación Java

Document related concepts
no text concepts found
Transcript
Lenguaje de
programación Java
UNIVERSIDAD REGIONAL
DEL SURESTE
Bienvenidos a Java
Alcance de las variables
• Los miembros de una clase son globales a
dicha clase
• Las variables locales solo tienen alcance
dentro de un método
• Los parámetros son tratados como
variables locales
• También se puede limitar el alcance a un
bloque como en el manejo de excepciones
Manejo de parámetros
• En java no existe la diferencia entre paso
de parámetros por referencia y por valor
• Todos los tipos primitivos se pasan por
valor y los objetos se pasan por referencia
• Si deseamos manipular los argumentos
dentro de un método, debemos
encapsularlos en la definición de una
nueva clase
Valores de retorno
• El valor retornado debe coincidir con el
especificado en el encabezado del método
• Pueden devolverse tipos primitivos o
referencias a objetos
• Esto se revisa en tiempo de compilación
Uso de la palabra this
• La palabra this es una referencia a objetos
de la clase que se esta definiendo
• Se usa cuando los nombres de los
parámetros o variables locales son iguales
a los de los miembros de dicha clase
• Su uso es frecuente sobre todo cuando se
maneja la herencia
• También puede usarse para llamar a otro
constructor dentro de un constructor
Acceso a los miembros
Tipo
Clase
Paquete
Subclase
Global
private
SI
NO
NO
NO
Sin tipo
SI
SI
NO
NO
protected
SI
SI
SI
NO
public
SI
SI
SI
SI
Acceso a los miembros (cont)
• Controlan el nivel de acceso o
modificación que pueden tener
• Afectan a los mecanismos de herencia
• La API de Java usa este control de acceso
para sus bibliotecas (paquetes) de clases
• Favorece el desarrollo de aplicaciones con
buena ingeniería de software
Consejos para controlar el acceso
• El nivel más restrictivo (private) por lo
regular se usa con los miembros de una
clase y algunos métodos de utilería
• Los miembros públicos (public) solo se
usan para definir constantes
• Se debe limitar el numero de miembros
protegidos y de paquete
• Las propiedades de objetos JavaBeans
deben declararse protegidos (protected)
Miembros de clase y de instancia
• Un miembro de clase es compartido por
cada instancia de la clase
• Un miembro de instancia crea un espacio
en memoria por cada instancia
• Los miembros y métodos de clase se
crean con el modificador static
• Los miembros y métodos de instancia se
solo pueden accederse con una referencia
a una instancia de un objeto
Herencia
• Es una forma de reutilización de software
usada en la programación orientada a
objetos
• Permite crear una estructura jerárquica a
partir de la cual se construyen los
sistemas
• Una subclase hereda de su superclase los
miembros y los métodos
• El acceso sin embargo esta controlado
Jerarquía de clases
Herencia simple
• En java no se permite la herencia múltiple
y cada subclase solo puede tener una
superclase
• Para modelar la herencia múltiple, java
hace uso de las interfases
• La herencia se declara en java con la
palabra extends
• public class MyApplet extends JApplet
Ejemplo de herencia
La clase Object
• Todas las clases heredan directamente o
indirectamente de Object
• Proporciona la funcionalidad básica y
métodos comunes
• La mayoría de dichos métodos deben
sobrecargarse para adaptarse a la nueva
clase
• Métodos como equals, hashCode, toString
• Otros como getClass, notify and wait
Interfases
• Es la definición de un tipo de dato al igual
que una clase
• La diferencia es que solo define los
métodos pero no los implementa
• La clase que usa la interfaz esta obligada
a implementar sus métodos
• Una clase puede implementar más de una
interfase
Sintaxis de una interfaz
public interface NombreInterfaz{
miembros;
métodos;
// los métodos no se implementan solo se
define su cabecera
}
Uso de la palabra implements
• Una clase implementa una interfaz
haciendo uso de la palabra implements
seguida del nombre de la interfaz
• MouseListener es un ejemplo de una
interfaz
• Debe ir después de la herencia
(implements) si esta existe
Ejemplo de interfaz
public interface Contador{
public int MAX_INT = 60;
public int getValor();
public void avanzar();
}
Ejemplo de clase que la usa
public class Reloj implements Contador{
private int segundos;
public Reloj(){ segundos = 0;}
public void avanzar(){
segundos++;
if(segundos > MAX_INT)
segundos = 0;
}
public int getValor(){ return segundos;}
}
Polimorfismo
• Es una forma de hacer que el compilador
decida cual es el código correcto a cargar
en tiempo de ejecución
• Se implementa por medio de clases y
métodos abstractos
• Un método abstracto no tiene un código
definido
• En una clase abstracta todos sus métodos
son abstractos
Polimorfismo (cont)
• Se usa para definir una clase base de la
cual heredarán otras clases con
comportamientos en cómun
• Por ejemplo una clase de gráficos puede
tener como clases derivadas a un
rectángulo, un circulo y un triángulo
• Todos necesitan dibujarse pero de
diferente manera
Ejercicios
• Revisar el API de Java para indagar la
implementación de sus clases y paquetes
• Investigar cuales son los métodos de la
clase String y sus clases relacionadas
• Investigar la clase Graphics
• Investigar la clase Applet y sus derivadas
• Revisar la página mictlan.utm.mx/~jorge
para buscar más apuntes en la semana