Lenguaje de programacin Java UNIVERSIDAD REGIONAL DEL SURESTE

  • Slides: 23
Download presentation
Lenguaje de programación Java UNIVERSIDAD REGIONAL DEL SURESTE

Lenguaje de programación Java UNIVERSIDAD REGIONAL DEL SURESTE

Bienvenidos a Java

Bienvenidos a Java

Alcance de las variables • Los miembros de una clase son globales a dicha

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

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

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

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

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

Acceso a los miembros (cont) • Controlan el nivel de acceso o modificación que

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

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 Java. Beans deben declararse protegidos (protected)

Miembros de clase y de instancia • Un miembro de clase es compartido por

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

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

Jerarquía de clases

Herencia simple • En java no se permite la herencia múltiple y cada subclase

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 My. Applet extends JApplet

Ejemplo de herencia

Ejemplo de herencia

La clase Object • Todas las clases heredan directamente o indirectamente de Object •

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, hash. Code, to. String • Otros como get. Class, notify and wait

Interfases • Es la definición de un tipo de dato al igual que una

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 Nombre. Interfaz{ miembros; métodos; // los métodos no

Sintaxis de una interfaz public interface Nombre. Interfaz{ 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

Uso de la palabra implements • Una clase implementa una interfaz haciendo uso de la palabra implements seguida del nombre de la interfaz • Mouse. Listener 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 get.

Ejemplo de interfaz public interface Contador{ public int MAX_INT = 60; public int get. Valor(); public void avanzar(); }

Ejemplo de clase que la usa public class Reloj implements Contador{ private int segundos;

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 get. Valor(){ return segundos; } }

Polimorfismo • Es una forma de hacer que el compilador decida cual es el

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

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

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