SlideShare una empresa de Scribd logo
1 de 18
Curso Básico de Java Facilitador: Prof. Bassam Asfur Republica Bolivariana de Venezuela Área de Computación
El paquete java.io Los streams. Cualquier programa realizado en Java que necesite llevar a cabo una operación de I/O lo hará a través de un  stream. Un stream, cuya traducción literal es "flujo", es una abstracción de  todo aquello que produzca o consuma información.  Podemos ver a este stream como una entidad lógica. La vinculación de este stream al dispositivo físico la hace el sistema de entrada y salida de Java. Se ve pues la eficacia de esta implementación pues las clases y métodos de I/O que necesitamos emplear son las mismas independientemente del dispositivo con el que estemos actuando, luego, el núcleo de Java, sabrá si tiene que tratar con el teclado, el monitor, un sistema de archivos o un socket de red liberando a nuestro código de tener que saber con  quién está interactuando.
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],El paquete java.io
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],El paquete java.io
La entrada de consola, se obtiene a través de la instrucción  System.in. Para conseguir un flujo de caracteres envolvemos dicha clase en un objeto del tipo  BufferedReader, el cual  soporta un flujo de entrada del buffer. Atendiendo a las especificaciones de esta clase, el parámetro que se le pasa es el stream de entrada que es de tipo  Reader, el cual  es abstracto por lo que recurriremos a  una de sus subclases, en nuestro caso será  InputStreamReader que convierte bytes a  caracteres.  Otra vez más, atendiendo a la especificación de esta última clase vemos que el parámetro que se le pasa es de tipo  InputStream, o sea, la entrada orientada a byte que en  nuestro caso es System.in, ya hemos asociado un dispositivo físico (el teclado) a un stream orientado a caracteres mediante la clase System con la clase  BufferedReader Lectura de consola. BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
Definición La Herencia es el mecanismo por el que se crean nuevos objetos definidos en términos de objetos ya existentes. Por ejemplo, si se tiene la clase Pelota, se puede crear la subclase  Pelota_Futbol, que es una especialización de  Pelota. class  Pelota_Futbol  extends  Pelota{  String color; int diametro;  }  La palabra clave extends se usa para generar una subclase (especialización) de un objeto. Pelota_Futbol es una subclase de  Pelota. Cualquier cosa que contenga la definición de Pelota será copiada a la clase Pelota_Futbol. Pero, además de heredar la funcionalidad de la clase padre, una clase hija puede sobreescribirla.  Herencia en Java
Herencia en Java
Herencia en Java ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
class Padre { String nombre, edad; public void mover() { System.out.println("Funcion implmetado en el padre"); } } class Hijo extends Padre { String madre; public void mover() { super.mover(); System.out.println("Funcion implemetado en el hijo"); } } public class Ejemplo{ public static void main(String[] args) { Hijo Alejandro= new Hijo(); Alejandro.mover(); } } Ejemplo Herencia
Interfases y Clases Abstractas.  Clases Abstractas.  Al ser utilizado Herencias y/o Polimorfismo es muy común que en la Clase Base existan métodos diseñados únicamente con el propósito de ofrecer una guia para las Clases heredadas, en Java existe un vocablo que permite prohibir el uso de métodos en Clases Base, este calificativo es :  abstract .  Al ser definido un método como  abstract  se restringe que éste sea llamado directamente, cuando una Clase contiene un método de este tipo a ésta se le llama:  Clase Abstracta . Una de las características de las Clases que Heredande una Clase abstracta, es que éstas deben definir los mismos métodos definidos en la Clase Base.
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Clases Abstractas.
Definición: Un interface es una colección de definiciones de métodos (sin implementaciones) y de  valores constantes. Los interfaces se utilizan para definir un protocolo de comportamiento que puede ser implementado por cualquier clase del árbol de clases. En Java, un interface es un tipo de dato de referencia, y por tanto, puede utilizarse en cualquier parte del código. Interface
Interface Una Interfase básicamente no indica que todas las Clases que  implementen  esta Interfase deben contener su misma estructura,  para definir una Interfase se utiliza el vocablo interface y para especificar que una Clase debe utilizar determinada Interfase se utiliza el vocablo implements.  Una característica especifica de Interfases que no es posible a través de Clases Abstractas es el uso de Herencias Múltiples, este concepto reside en diseñar Clases que adoptan el comportamiento de más de una Clase  class Clase_Hijo  extends Clase_Padre implements Interface1, Interface2, Interface3{ … }
interface Instrumento { // Constante al compilar, automáticamente static y final  int i = 5; // Métodos Automáticamente Públicos  void tocar(); String tipo(); void afinar(); } class Guitarra implements Instrumento { public void tocar() { System.out.println("Guitarra.tocar()"); } public String tipo() { return "Guitarra"; } public void afinar() {} } Interface (Ejemplo)
El polimorfismo es un concepto de la programación orientada a objetos que nos permite programar en forma general, en lugar de hacerlo en forma específica. En general nos sirve para programar objetos con características comunes y que todos estos compartan la misma superclase en una jerarquía de clases, como si todas fueran objetos de la superclase. Esto nos simplifica la programación.  Ejemplo Polimorfismo Sumar Sumar(4,6); Sumar(4.5,6.5); Sumar(‘e’,’t’);
class Hijo2 extends Padre { String Ruta; public void mover() { System.out.println("La funcion del Hijo 2"); } } class Ejemplo4{ public static void Ejecutar(Padre m) { m.mover(); } public static void main(String[] args) { Hijo  jose= new  Hijo(); Hijo2  anibal = new Hijo2(); Ejecutar(jose); Ejecutar(anibal); } } Ejemplo Polimorfismo
public class Ejemplo{ int i; public Ejemplo() { i = 10; } // Este constructor establece el valor de i public Ejemplo( int valor ) { this.i = valor; // i = valor } public void Suma_a_i( int j ) { i = i + j; } } Al acceder a variables de instancia de una clase, la palabra clave this hace referencia a los miembros de la propia clase en el objeto actual; es decir, this se refiere al objeto actual sobre el que está actuando un método determinado y se utiliza siempre que se quiera hace referencia al objeto. Operador This
Operador super class Clase{ void  imprimir(){ System.out.println("Funcion Padre"); } } class Nueva_Clase extends Clase{ void imprimir(){ super.imprimir(); } } class Ejemplo { public static void main(String []y){ new Nueva_Clase().imprimir(); } } Si se necesita llamar al método padre dentro de una clase que ha reemplazado ese método, se puede hacer referencia al método padre con la palabra clave super: Si un método sobrescribe un método de su superclase, se puede utilizar la palabra clave super para eludir la versión sobrescrita de la clase e invocar a la versión original del método en la supreclase.

Más contenido relacionado

La actualidad más candente

La actualidad más candente (16)

Programación 3: Clases y objetos en Java
Programación 3: Clases y objetos en JavaProgramación 3: Clases y objetos en Java
Programación 3: Clases y objetos en Java
 
LibreríAs De Java
LibreríAs De JavaLibreríAs De Java
LibreríAs De Java
 
Curso Java Inicial 2 - Introducción y Sintaxis
Curso Java Inicial  2 - Introducción y SintaxisCurso Java Inicial  2 - Introducción y Sintaxis
Curso Java Inicial 2 - Introducción y Sintaxis
 
Clase n°1 java
Clase n°1 javaClase n°1 java
Clase n°1 java
 
Introduccion java
Introduccion javaIntroduccion java
Introduccion java
 
Fundamentos de Java
Fundamentos de JavaFundamentos de Java
Fundamentos de Java
 
Fundamentos de Java II
Fundamentos de Java IIFundamentos de Java II
Fundamentos de Java II
 
Tipos de datos
Tipos de datosTipos de datos
Tipos de datos
 
JAVA- basico
JAVA- basicoJAVA- basico
JAVA- basico
 
Programación orientada a objetos (I)
Programación orientada a objetos (I)Programación orientada a objetos (I)
Programación orientada a objetos (I)
 
Datos Previos
Datos PreviosDatos Previos
Datos Previos
 
Comandos java
Comandos javaComandos java
Comandos java
 
Datos Previos
Datos PreviosDatos Previos
Datos Previos
 
Constructor Y Destructor
Constructor Y DestructorConstructor Y Destructor
Constructor Y Destructor
 
Fundamentos de programación Java
Fundamentos de programación JavaFundamentos de programación Java
Fundamentos de programación Java
 
Apendice general 4 terminos de programador
Apendice general 4 terminos de programadorApendice general 4 terminos de programador
Apendice general 4 terminos de programador
 

Destacado

How to make Bara Brith
How to make Bara BrithHow to make Bara Brith
How to make Bara Brithruuuth21
 
Elementos BáSicos Del Lenguaje Java Alumno
Elementos BáSicos Del Lenguaje Java AlumnoElementos BáSicos Del Lenguaje Java Alumno
Elementos BáSicos Del Lenguaje Java Alumnomtemarialuisa
 
Programación III (Java) - 02 Paquetes y API
Programación III (Java) - 02 Paquetes y APIProgramación III (Java) - 02 Paquetes y API
Programación III (Java) - 02 Paquetes y APIAndoni Eguíluz Morán
 
El sentido del derecho 1 era parte
El sentido del derecho 1 era parteEl sentido del derecho 1 era parte
El sentido del derecho 1 era parteIUPTabasco
 
Paquetes De Programacion
Paquetes De ProgramacionPaquetes De Programacion
Paquetes De Programaciontibu85
 
Teoría del estado
Teoría del estadoTeoría del estado
Teoría del estadoNino Viera
 

Destacado (9)

How to make Bara Brith
How to make Bara BrithHow to make Bara Brith
How to make Bara Brith
 
yhhhhhhhh
yhhhhhhhhyhhhhhhhh
yhhhhhhhh
 
Elementos BáSicos Del Lenguaje Java Alumno
Elementos BáSicos Del Lenguaje Java AlumnoElementos BáSicos Del Lenguaje Java Alumno
Elementos BáSicos Del Lenguaje Java Alumno
 
Programación III (Java) - 02 Paquetes y API
Programación III (Java) - 02 Paquetes y APIProgramación III (Java) - 02 Paquetes y API
Programación III (Java) - 02 Paquetes y API
 
Clase 4 JAVA 2012
Clase 4 JAVA 2012Clase 4 JAVA 2012
Clase 4 JAVA 2012
 
Java.sql.*
Java.sql.*Java.sql.*
Java.sql.*
 
El sentido del derecho 1 era parte
El sentido del derecho 1 era parteEl sentido del derecho 1 era parte
El sentido del derecho 1 era parte
 
Paquetes De Programacion
Paquetes De ProgramacionPaquetes De Programacion
Paquetes De Programacion
 
Teoría del estado
Teoría del estadoTeoría del estado
Teoría del estado
 

Similar a Clase 4 java 2011

Similar a Clase 4 java 2011 (20)

Intro Java
Intro JavaIntro Java
Intro Java
 
Aplicaciones en java_genesis_duran (3)
Aplicaciones en java_genesis_duran (3)Aplicaciones en java_genesis_duran (3)
Aplicaciones en java_genesis_duran (3)
 
2introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate022introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate02
 
INTRODUCCION LENGUAJE JAVA
INTRODUCCION LENGUAJE JAVAINTRODUCCION LENGUAJE JAVA
INTRODUCCION LENGUAJE JAVA
 
Java
JavaJava
Java
 
Programacion no numerica ii
Programacion no numerica iiProgramacion no numerica ii
Programacion no numerica ii
 
Carro De Compras
Carro De ComprasCarro De Compras
Carro De Compras
 
Presentacion Java
Presentacion JavaPresentacion Java
Presentacion Java
 
manual de C#
manual de C#manual de C#
manual de C#
 
Manual c# 2
Manual c# 2Manual c# 2
Manual c# 2
 
Manual de c#
Manual de c#Manual de c#
Manual de c#
 
Aplicaciones java
Aplicaciones javaAplicaciones java
Aplicaciones java
 
Flujos de bytes y cadenas
Flujos de bytes y cadenasFlujos de bytes y cadenas
Flujos de bytes y cadenas
 
Java
JavaJava
Java
 
Introducción a la Programaciónen Java
Introducción a la Programaciónen JavaIntroducción a la Programaciónen Java
Introducción a la Programaciónen Java
 
Entrada y salida de datos en java
Entrada y salida de datos en javaEntrada y salida de datos en java
Entrada y salida de datos en java
 
Datos de entrada_desde_el_teclado java
Datos de entrada_desde_el_teclado javaDatos de entrada_desde_el_teclado java
Datos de entrada_desde_el_teclado java
 
Modulo6.ppt
Modulo6.pptModulo6.ppt
Modulo6.ppt
 
Laboratorio interfaces
Laboratorio interfacesLaboratorio interfaces
Laboratorio interfaces
 
Revista java world cap 8,9,10
Revista java world cap 8,9,10Revista java world cap 8,9,10
Revista java world cap 8,9,10
 

Más de José Braganza

Más de José Braganza (13)

Sesion n°1 estructura de datos
Sesion n°1 estructura de datosSesion n°1 estructura de datos
Sesion n°1 estructura de datos
 
Preguntas frecuentes sobre el servicio comunitario
Preguntas frecuentes sobre el servicio comunitarioPreguntas frecuentes sobre el servicio comunitario
Preguntas frecuentes sobre el servicio comunitario
 
Lamsem10
Lamsem10Lamsem10
Lamsem10
 
Lamsem9
Lamsem9Lamsem9
Lamsem9
 
Lamsem5
Lamsem5Lamsem5
Lamsem5
 
Lamsem4
Lamsem4Lamsem4
Lamsem4
 
Lamsem1
Lamsem1Lamsem1
Lamsem1
 
Lamina de semana 11 12
Lamina de semana 11 12Lamina de semana 11 12
Lamina de semana 11 12
 
Clase 5 JAVA 2012
Clase 5 JAVA 2012Clase 5 JAVA 2012
Clase 5 JAVA 2012
 
Calse 3 JAVA 2012
Calse 3 JAVA 2012Calse 3 JAVA 2012
Calse 3 JAVA 2012
 
Clase 1 jJAVA 2012
Clase 1 jJAVA 2012Clase 1 jJAVA 2012
Clase 1 jJAVA 2012
 
Clase 2 JAVA 2012
Clase 2 JAVA 2012Clase 2 JAVA 2012
Clase 2 JAVA 2012
 
Semana 2 de Comportamiento Organizacional
Semana 2 de Comportamiento OrganizacionalSemana 2 de Comportamiento Organizacional
Semana 2 de Comportamiento Organizacional
 

Clase 4 java 2011

  • 1. Curso Básico de Java Facilitador: Prof. Bassam Asfur Republica Bolivariana de Venezuela Área de Computación
  • 2. El paquete java.io Los streams. Cualquier programa realizado en Java que necesite llevar a cabo una operación de I/O lo hará a través de un stream. Un stream, cuya traducción literal es "flujo", es una abstracción de todo aquello que produzca o consuma información. Podemos ver a este stream como una entidad lógica. La vinculación de este stream al dispositivo físico la hace el sistema de entrada y salida de Java. Se ve pues la eficacia de esta implementación pues las clases y métodos de I/O que necesitamos emplear son las mismas independientemente del dispositivo con el que estemos actuando, luego, el núcleo de Java, sabrá si tiene que tratar con el teclado, el monitor, un sistema de archivos o un socket de red liberando a nuestro código de tener que saber con quién está interactuando.
  • 3.
  • 4.
  • 5. La entrada de consola, se obtiene a través de la instrucción System.in. Para conseguir un flujo de caracteres envolvemos dicha clase en un objeto del tipo BufferedReader, el cual soporta un flujo de entrada del buffer. Atendiendo a las especificaciones de esta clase, el parámetro que se le pasa es el stream de entrada que es de tipo Reader, el cual es abstracto por lo que recurriremos a una de sus subclases, en nuestro caso será InputStreamReader que convierte bytes a caracteres. Otra vez más, atendiendo a la especificación de esta última clase vemos que el parámetro que se le pasa es de tipo InputStream, o sea, la entrada orientada a byte que en nuestro caso es System.in, ya hemos asociado un dispositivo físico (el teclado) a un stream orientado a caracteres mediante la clase System con la clase BufferedReader Lectura de consola. BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
  • 6. Definición La Herencia es el mecanismo por el que se crean nuevos objetos definidos en términos de objetos ya existentes. Por ejemplo, si se tiene la clase Pelota, se puede crear la subclase Pelota_Futbol, que es una especialización de Pelota. class Pelota_Futbol extends Pelota{ String color; int diametro; } La palabra clave extends se usa para generar una subclase (especialización) de un objeto. Pelota_Futbol es una subclase de Pelota. Cualquier cosa que contenga la definición de Pelota será copiada a la clase Pelota_Futbol. Pero, además de heredar la funcionalidad de la clase padre, una clase hija puede sobreescribirla. Herencia en Java
  • 8.
  • 9. class Padre { String nombre, edad; public void mover() { System.out.println("Funcion implmetado en el padre"); } } class Hijo extends Padre { String madre; public void mover() { super.mover(); System.out.println("Funcion implemetado en el hijo"); } } public class Ejemplo{ public static void main(String[] args) { Hijo Alejandro= new Hijo(); Alejandro.mover(); } } Ejemplo Herencia
  • 10. Interfases y Clases Abstractas. Clases Abstractas. Al ser utilizado Herencias y/o Polimorfismo es muy común que en la Clase Base existan métodos diseñados únicamente con el propósito de ofrecer una guia para las Clases heredadas, en Java existe un vocablo que permite prohibir el uso de métodos en Clases Base, este calificativo es : abstract . Al ser definido un método como abstract se restringe que éste sea llamado directamente, cuando una Clase contiene un método de este tipo a ésta se le llama: Clase Abstracta . Una de las características de las Clases que Heredande una Clase abstracta, es que éstas deben definir los mismos métodos definidos en la Clase Base.
  • 11.
  • 12. Definición: Un interface es una colección de definiciones de métodos (sin implementaciones) y de valores constantes. Los interfaces se utilizan para definir un protocolo de comportamiento que puede ser implementado por cualquier clase del árbol de clases. En Java, un interface es un tipo de dato de referencia, y por tanto, puede utilizarse en cualquier parte del código. Interface
  • 13. Interface Una Interfase básicamente no indica que todas las Clases que implementen esta Interfase deben contener su misma estructura, para definir una Interfase se utiliza el vocablo interface y para especificar que una Clase debe utilizar determinada Interfase se utiliza el vocablo implements. Una característica especifica de Interfases que no es posible a través de Clases Abstractas es el uso de Herencias Múltiples, este concepto reside en diseñar Clases que adoptan el comportamiento de más de una Clase class Clase_Hijo extends Clase_Padre implements Interface1, Interface2, Interface3{ … }
  • 14. interface Instrumento { // Constante al compilar, automáticamente static y final int i = 5; // Métodos Automáticamente Públicos void tocar(); String tipo(); void afinar(); } class Guitarra implements Instrumento { public void tocar() { System.out.println("Guitarra.tocar()"); } public String tipo() { return "Guitarra"; } public void afinar() {} } Interface (Ejemplo)
  • 15. El polimorfismo es un concepto de la programación orientada a objetos que nos permite programar en forma general, en lugar de hacerlo en forma específica. En general nos sirve para programar objetos con características comunes y que todos estos compartan la misma superclase en una jerarquía de clases, como si todas fueran objetos de la superclase. Esto nos simplifica la programación. Ejemplo Polimorfismo Sumar Sumar(4,6); Sumar(4.5,6.5); Sumar(‘e’,’t’);
  • 16. class Hijo2 extends Padre { String Ruta; public void mover() { System.out.println("La funcion del Hijo 2"); } } class Ejemplo4{ public static void Ejecutar(Padre m) { m.mover(); } public static void main(String[] args) { Hijo jose= new Hijo(); Hijo2 anibal = new Hijo2(); Ejecutar(jose); Ejecutar(anibal); } } Ejemplo Polimorfismo
  • 17. public class Ejemplo{ int i; public Ejemplo() { i = 10; } // Este constructor establece el valor de i public Ejemplo( int valor ) { this.i = valor; // i = valor } public void Suma_a_i( int j ) { i = i + j; } } Al acceder a variables de instancia de una clase, la palabra clave this hace referencia a los miembros de la propia clase en el objeto actual; es decir, this se refiere al objeto actual sobre el que está actuando un método determinado y se utiliza siempre que se quiera hace referencia al objeto. Operador This
  • 18. Operador super class Clase{ void imprimir(){ System.out.println("Funcion Padre"); } } class Nueva_Clase extends Clase{ void imprimir(){ super.imprimir(); } } class Ejemplo { public static void main(String []y){ new Nueva_Clase().imprimir(); } } Si se necesita llamar al método padre dentro de una clase que ha reemplazado ese método, se puede hacer referencia al método padre con la palabra clave super: Si un método sobrescribe un método de su superclase, se puede utilizar la palabra clave super para eludir la versión sobrescrita de la clase e invocar a la versión original del método en la supreclase.