SlideShare ist ein Scribd-Unternehmen logo
1 von 14
Modulo II
Constructores
          Un punto clave de la Programación Orientada Objetos es el evitar
información incorrecta por no haber sido correctamente inicializadas las
variables. Java no permite que haya variables miembro que no estén inicializadas
y ya se ha dicho que Java inicializa siempre con valores por defecto, las variables
miembro de clases y objetos. El segundo paso en la inicialización correcta de
objetos es el uso de constructores.


Un constructor es un método que se llama automáticamente cada vez que se crea
un objeto de una clase. La principal misión del constructor es reservar memoria e
inicializar las variables miembro de la clase.
Características
• Los Constructores no tienen valor de retorno (ni siquiera void)
• Su nombre es el mismo de la clase.
• También pueden tener modificadores de acceso, pueden ser: públicos,
  privados, static, protected y package.
• Dentro de una clase los constructores solo pueden ser llamados por otros
  constructores o por método static.
• No son llamados por método de objeto de la clase.
Métodos sobre Cargados
Este lenguaje permite la sobrecarga de métodos, es decir, crear varios métodos
con el mismo nombre y diferentes colecciones de argumentos. La elección de
ejecutar un método u otro dependerá de la colección de argumentos que usa,
inicialmente se busca un método que tenga la misma distribución de
argumentos.
Ejemplo:
Veamos un método que se desea sobrecargar:

public void cambiarTamano(int tamano, String nombre, float patron){ }


Los siguientes métodos son sobrecargas legales del método cambiarTamano():

public void cambiarTamano(int tamano, String nombre){}
public int cambiarTamano(int tamano, float patron){}
public void cambiarTamano(float patron, String nombre) throws IOException{}
Cómo invocar un método
sobrecargado:
Lo que define qué método es el que se va a llamar son los argumentos que se
envían al mismo durante la llamada. Si se invoca a un método con un String
como argumento, se ejecutará el método que tome un String como
argumento, si se manda a llamar al mismo método pero con un float como
argumento, se ejecutará el método que tome un float como argumento y así
sucesivamente. Si se invoca a un método con un argumento que no es
definido en ninguna de las versiones sobrecargadas entonces el compilador
arrojará un mensaje de error.
Ejemplo de una clase con un método
sobrecargado:
public class Sobrecarga {
public void Numeros(int x, int y){
System.out.println("Método que recibe enteros.");
}
public void Numeros(double x, double y){
System.out.println("Método que recibe flotantes.");
}
public void Numeros(String cadena){
System.out.println("Método que recibe una cadena: "+ cadena);
}
public static void main (String... args){
Sobrecarga s = new Sobrecarga();
int a = 1;
int b = 2;
s.Numeros(a,b);
s.Numeros(3.2,5.7);
s.Numeros("Monillo007");
}
}
Palabra resevada «this»
Referenciar una instancia de una clase interna o externa dentro de una clase interna::
De antemano sabemos (o debemos saber) que la manera en que un objeto hace referencia
hacia él mismo es mediante la referencia this. Revisemos un poco la referencia this:


+ La palabra reservada this puede ser utilizada solamente dentro del código de instancia de
una clase y no dentro de código estático.

+ Al referenciar con this, hacemos referencia(valga la redundancia) al objeto que se está
ejecutando actualmente.

+ La referencia this es la manera en que un objeto puede pasarse a sí mismo como
parámetro hacia un método. P. ej.:


public void miMetodo(){
MiClase mc = new MiClase();
mc.hacerAlgo(this); //se pasa como parámetro el objeto actual.
}
Constructores SobreCargados
Sobrecargar un constructor significa escribir versiones múltiples del
constructor de una clase, cada uno de ellos con una lista diferente de
argumentos, algo parecido a lo que se muestra a continuación:
class Animal{


    Animal(){}


    Animal(String nombre){}


    Animal(String nombre, int edad){}


}

En la clase anterior (la clase Animal) podemos identificar que existen 3
constructores sobrecargados, uno que toma una cadena como argumento,
otro que toma una cadena y un entero y otro sin argumentos.
Excepciones
          Este lenguaje Java tiene desde su origen una vocación de
independencia del sistema operativo, lo que le confiere unas características
que permiten su ejecución en redes de ordenadores con diferentes sistemas
operativos, acceso remoto a objetos en otras maquinas de red, etc. Todas
estas ejecuciones son una fuente principal de errores en especial el uso de
periféricos como son: teclado, impresora, escanner, etc.


          Todas estas circunstancias pueden provocar desastres en la
ejecución del programa que suponen la finalización de la aplicación de forma
descontrolada dejando ficheros abiertos, pérdida de datos por falta de su
archivo. Dentro de este lenguaje existe una estructura que puede controlar
errores, creando el concepto de excepción, que es un objeto que se genera
automáticamente cuando se produce un acontecimiento circunstancial.
Estructura Try – catch
Try{
       [Bloque de sentencias que se ejecutan en circunstancias normales]
} catch (Clase Excepción1 e){
    [Bloque que se ejecutan si se ha producido una excepción de la clase
Excepción2]
} catch (Exception e){
    [Bloque que se ejecutan si se ha producido una excepcion no capturada
anteriormente]
}finally {
       [Bloque de sentencias que se ejecutan siempre]
}
Ejemplo
Import java.io.*;
Public class Excepcion1{
    public static void main(String args[]){
       BufferedReader teclado = new BufferedReader(new
                    InputStreamReader (System.in));
       boolean error = false;
      do{
        try{
            error=false;
            System.out.print(«nIntroduce un numero: «);
            String texto= teclado.readLine();
            int i = Integer.parseInt (texto);
            System.out.print(«Teclea otro numero: «);
            texto = teclado.readLine();
            int j = Integer.parseInt (texto);
            System.out.printf(«La división %d/%d = %dn», i,j,i/j);
Ejemplo:
} catch (Exception e) {
      //Muestra error producido
      System.out.println(e.getMessage());
      /* Imprime las llamadas producidas hasta el método que generó el error */
      e.printStackTrace();
      error = true;
}
    }while (error);
}
Generación de excepciones sentencia throw
La sentencia throw permite al programador generar excepciones específicas para la lógica de sus aplicaciones.
           La clase persona muestra como el método ponEdad genera una excepción cuando la edad es menor
de cero y mayor a cien.
el método que ha realizado la llamada ponEdad() se captura la excepción a través del bloque catch de la clase
Exception


Public class Persona{
    private int edad;
      public void ponEdad(int edadNueva) throws Exception{
              if (edadNueva < 0 || edadNueva > 100)
                  throw (new Exception («Edad no valida»));
                  edad = edadNueva;
              }


          public String toString(){
             return «Edad: «+ edad;
      }
}
Continuación

Weitere ähnliche Inhalte

Was ist angesagt?

Programación Orientada a Objetos - constructores y destructores
Programación Orientada a Objetos - constructores y destructoresProgramación Orientada a Objetos - constructores y destructores
Programación Orientada a Objetos - constructores y destructoresAlvaro Enrique Ruano
 
Uso de Excepciones en JAVA
Uso de Excepciones en JAVAUso de Excepciones en JAVA
Uso de Excepciones en JAVAinnovalabcun
 
Comandos ddl y dml
Comandos ddl y dmlComandos ddl y dml
Comandos ddl y dmlGerardo
 
Notación infija postfija
Notación infija postfijaNotación infija postfija
Notación infija postfijaOmarzingm
 
Normalizacion de base de datos
Normalizacion de base de datosNormalizacion de base de datos
Normalizacion de base de datosSergio Sanchez
 
Modelo Relacional (Base de Datos)
Modelo Relacional (Base de Datos)Modelo Relacional (Base de Datos)
Modelo Relacional (Base de Datos)Neguib Núñez
 
Formas normales
Formas normalesFormas normales
Formas normalesdidachos1
 
Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos josecuartas
 
Programación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodosProgramación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodosAlvaro Enrique Ruano
 
Programación MySQL-Ejercicios
Programación MySQL-EjerciciosProgramación MySQL-Ejercicios
Programación MySQL-Ejerciciostestgrupocomex
 
Ejemplos Para Dev C++
Ejemplos Para Dev C++Ejemplos Para Dev C++
Ejemplos Para Dev C++cemayoral
 
Herencia y Polimorfismo en Java
Herencia y Polimorfismo en JavaHerencia y Polimorfismo en Java
Herencia y Polimorfismo en JavaAme Linares Vivas
 
Normalizacion de bases de datos
Normalizacion de bases de datosNormalizacion de bases de datos
Normalizacion de bases de datosCaro_Noirgean
 
Historia de la tecnologia de base de datos
Historia de la tecnologia de base de datosHistoria de la tecnologia de base de datos
Historia de la tecnologia de base de datosralbarracin
 
Unidad 3 Modelamiento De Datos Conceptual
Unidad 3 Modelamiento De Datos ConceptualUnidad 3 Modelamiento De Datos Conceptual
Unidad 3 Modelamiento De Datos ConceptualSergio Sanchez
 

Was ist angesagt? (20)

Programación Orientada a Objetos - constructores y destructores
Programación Orientada a Objetos - constructores y destructoresProgramación Orientada a Objetos - constructores y destructores
Programación Orientada a Objetos - constructores y destructores
 
Uso de Excepciones en JAVA
Uso de Excepciones en JAVAUso de Excepciones en JAVA
Uso de Excepciones en JAVA
 
Comandos ddl y dml
Comandos ddl y dmlComandos ddl y dml
Comandos ddl y dml
 
Notación infija postfija
Notación infija postfijaNotación infija postfija
Notación infija postfija
 
Normalizacion de base de datos
Normalizacion de base de datosNormalizacion de base de datos
Normalizacion de base de datos
 
Modelo Relacional (Base de Datos)
Modelo Relacional (Base de Datos)Modelo Relacional (Base de Datos)
Modelo Relacional (Base de Datos)
 
NORMALIZACIÓN
NORMALIZACIÓN  NORMALIZACIÓN
NORMALIZACIÓN
 
Formas normales
Formas normalesFormas normales
Formas normales
 
Ejercicios
EjerciciosEjercicios
Ejercicios
 
Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos
 
Flujo datos
Flujo datosFlujo datos
Flujo datos
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
Programación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodosProgramación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodos
 
Programación MySQL-Ejercicios
Programación MySQL-EjerciciosProgramación MySQL-Ejercicios
Programación MySQL-Ejercicios
 
Ejemplos Para Dev C++
Ejemplos Para Dev C++Ejemplos Para Dev C++
Ejemplos Para Dev C++
 
6 Curso de POO en Java - clases y objetos
6  Curso de POO en Java - clases y objetos6  Curso de POO en Java - clases y objetos
6 Curso de POO en Java - clases y objetos
 
Herencia y Polimorfismo en Java
Herencia y Polimorfismo en JavaHerencia y Polimorfismo en Java
Herencia y Polimorfismo en Java
 
Normalizacion de bases de datos
Normalizacion de bases de datosNormalizacion de bases de datos
Normalizacion de bases de datos
 
Historia de la tecnologia de base de datos
Historia de la tecnologia de base de datosHistoria de la tecnologia de base de datos
Historia de la tecnologia de base de datos
 
Unidad 3 Modelamiento De Datos Conceptual
Unidad 3 Modelamiento De Datos ConceptualUnidad 3 Modelamiento De Datos Conceptual
Unidad 3 Modelamiento De Datos Conceptual
 

Ähnlich wie Constructores & excepciones

Manejo de excepciones en Java
Manejo de excepciones en JavaManejo de excepciones en Java
Manejo de excepciones en JavaJohn Ortiz
 
Java exceptions
Java exceptionsJava exceptions
Java exceptionssandropaul
 
Java exceptions
Java exceptionsJava exceptions
Java exceptionsDeli_amor
 
excepciones en java
excepciones en javaexcepciones en java
excepciones en javasandropaul
 
Excepciones
ExcepcionesExcepciones
Excepcioneskattybe
 
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 javaEdeith
 
Mas sobre excepciones
Mas sobre excepcionesMas sobre excepciones
Mas sobre excepcionesjbersosa
 
Guia demanejodeexcepcionesaserciones
Guia demanejodeexcepcionesasercionesGuia demanejodeexcepcionesaserciones
Guia demanejodeexcepcionesasercionesjbersosa
 
JAVA: TRY-CATCH-FINALLY y Uso de ficheros de texto para guardar información
JAVA: TRY-CATCH-FINALLY y Uso de ficheros de texto para   guardar informaciónJAVA: TRY-CATCH-FINALLY y Uso de ficheros de texto para   guardar información
JAVA: TRY-CATCH-FINALLY y Uso de ficheros de texto para guardar informaciónUniversidad Santo Tomás
 
Tema 10 excepciones
Tema 10 excepcionesTema 10 excepciones
Tema 10 excepcionesjbersosa
 
1 1 5 Objetos Excepcion
1 1 5 Objetos Excepcion1 1 5 Objetos Excepcion
1 1 5 Objetos ExcepcionUVM
 
2introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate022introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate02Krizztiina Pacheko
 
2) introduccion al lenguaje java
2) introduccion al lenguaje java2) introduccion al lenguaje java
2) introduccion al lenguaje javaMargarita Romero
 
Metodo constructor de una clase JAVA
Metodo constructor de una clase JAVAMetodo constructor de una clase JAVA
Metodo constructor de una clase JAVAMANUEL RAMIREZ
 
Threads en java
Threads en javaThreads en java
Threads en javajent46
 

Ähnlich wie Constructores & excepciones (20)

Manejo de excepciones en Java
Manejo de excepciones en JavaManejo de excepciones en Java
Manejo de excepciones en Java
 
Lab excepciones propias
Lab excepciones propiasLab excepciones propias
Lab excepciones propias
 
Java exceptions
Java exceptionsJava exceptions
Java exceptions
 
Java exceptions
Java exceptionsJava exceptions
Java exceptions
 
excepciones en java
excepciones en javaexcepciones en java
excepciones en java
 
Excepciones
ExcepcionesExcepciones
Excepciones
 
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
 
Lab excepciones
Lab excepcionesLab excepciones
Lab excepciones
 
5.manejo de excepciones
5.manejo de excepciones5.manejo de excepciones
5.manejo de excepciones
 
Mas sobre excepciones
Mas sobre excepcionesMas sobre excepciones
Mas sobre excepciones
 
Guia demanejodeexcepcionesaserciones
Guia demanejodeexcepcionesasercionesGuia demanejodeexcepcionesaserciones
Guia demanejodeexcepcionesaserciones
 
JAVA: TRY-CATCH-FINALLY y Uso de ficheros de texto para guardar información
JAVA: TRY-CATCH-FINALLY y Uso de ficheros de texto para   guardar informaciónJAVA: TRY-CATCH-FINALLY y Uso de ficheros de texto para   guardar información
JAVA: TRY-CATCH-FINALLY y Uso de ficheros de texto para guardar información
 
Tema 10 excepciones
Tema 10 excepcionesTema 10 excepciones
Tema 10 excepciones
 
1 1 5 Objetos Excepcion
1 1 5 Objetos Excepcion1 1 5 Objetos Excepcion
1 1 5 Objetos Excepcion
 
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
 
2) introduccion al lenguaje java
2) introduccion al lenguaje java2) introduccion al lenguaje java
2) introduccion al lenguaje java
 
Java5
Java5Java5
Java5
 
Metodo constructor de una clase JAVA
Metodo constructor de una clase JAVAMetodo constructor de una clase JAVA
Metodo constructor de una clase JAVA
 
Threads en java
Threads en javaThreads en java
Threads en java
 

Kürzlich hochgeladen

ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...JoseMartinMalpartida1
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOluismii249
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Juan Martín Martín
 
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxroberthirigoinvasque
 
prostitución en España: una mirada integral!
prostitución en España: una mirada integral!prostitución en España: una mirada integral!
prostitución en España: una mirada integral!CatalinaAlfaroChryso
 
Los avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesLos avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesMarisolMartinez707897
 
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdfPROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdfEduardoJosVargasCama1
 
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdfPlan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdfcarolinamartinezsev
 
Código Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de VenezuelaCódigo Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de Venezuelabeltranponce75
 
La Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalLa Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalJonathanCovena1
 
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPCTRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPCCarlosEduardoSosa2
 
Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfGruberACaraballo
 
activ4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfactiv4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfRosabel UA
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Katherine Concepcion Gonzalez
 

Kürzlich hochgeladen (20)

ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
 
Novena de Pentecostés con textos de san Juan Eudes
Novena de Pentecostés con textos de san Juan EudesNovena de Pentecostés con textos de san Juan Eudes
Novena de Pentecostés con textos de san Juan Eudes
 
Los dos testigos. Testifican de la Verdad
Los dos testigos. Testifican de la VerdadLos dos testigos. Testifican de la Verdad
Los dos testigos. Testifican de la Verdad
 
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 
PP_Comunicacion en Salud: Objetivación de signos y síntomas
PP_Comunicacion en Salud: Objetivación de signos y síntomasPP_Comunicacion en Salud: Objetivación de signos y síntomas
PP_Comunicacion en Salud: Objetivación de signos y síntomas
 
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
 
prostitución en España: una mirada integral!
prostitución en España: una mirada integral!prostitución en España: una mirada integral!
prostitución en España: una mirada integral!
 
Los avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesLos avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtuales
 
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdfPROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
 
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdfPlan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
Código Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de VenezuelaCódigo Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de Venezuela
 
La Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalLa Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración Ambiental
 
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPCTRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
 
Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdf
 
activ4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfactiv4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdf
 
Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
 

Constructores & excepciones

  • 2. Constructores Un punto clave de la Programación Orientada Objetos es el evitar información incorrecta por no haber sido correctamente inicializadas las variables. Java no permite que haya variables miembro que no estén inicializadas y ya se ha dicho que Java inicializa siempre con valores por defecto, las variables miembro de clases y objetos. El segundo paso en la inicialización correcta de objetos es el uso de constructores. Un constructor es un método que se llama automáticamente cada vez que se crea un objeto de una clase. La principal misión del constructor es reservar memoria e inicializar las variables miembro de la clase.
  • 3. Características • Los Constructores no tienen valor de retorno (ni siquiera void) • Su nombre es el mismo de la clase. • También pueden tener modificadores de acceso, pueden ser: públicos, privados, static, protected y package. • Dentro de una clase los constructores solo pueden ser llamados por otros constructores o por método static. • No son llamados por método de objeto de la clase.
  • 4. Métodos sobre Cargados Este lenguaje permite la sobrecarga de métodos, es decir, crear varios métodos con el mismo nombre y diferentes colecciones de argumentos. La elección de ejecutar un método u otro dependerá de la colección de argumentos que usa, inicialmente se busca un método que tenga la misma distribución de argumentos. Ejemplo: Veamos un método que se desea sobrecargar: public void cambiarTamano(int tamano, String nombre, float patron){ } Los siguientes métodos son sobrecargas legales del método cambiarTamano(): public void cambiarTamano(int tamano, String nombre){} public int cambiarTamano(int tamano, float patron){} public void cambiarTamano(float patron, String nombre) throws IOException{}
  • 5. Cómo invocar un método sobrecargado: Lo que define qué método es el que se va a llamar son los argumentos que se envían al mismo durante la llamada. Si se invoca a un método con un String como argumento, se ejecutará el método que tome un String como argumento, si se manda a llamar al mismo método pero con un float como argumento, se ejecutará el método que tome un float como argumento y así sucesivamente. Si se invoca a un método con un argumento que no es definido en ninguna de las versiones sobrecargadas entonces el compilador arrojará un mensaje de error.
  • 6. Ejemplo de una clase con un método sobrecargado: public class Sobrecarga { public void Numeros(int x, int y){ System.out.println("Método que recibe enteros."); } public void Numeros(double x, double y){ System.out.println("Método que recibe flotantes."); } public void Numeros(String cadena){ System.out.println("Método que recibe una cadena: "+ cadena); } public static void main (String... args){ Sobrecarga s = new Sobrecarga(); int a = 1; int b = 2; s.Numeros(a,b); s.Numeros(3.2,5.7); s.Numeros("Monillo007"); } }
  • 7. Palabra resevada «this» Referenciar una instancia de una clase interna o externa dentro de una clase interna:: De antemano sabemos (o debemos saber) que la manera en que un objeto hace referencia hacia él mismo es mediante la referencia this. Revisemos un poco la referencia this: + La palabra reservada this puede ser utilizada solamente dentro del código de instancia de una clase y no dentro de código estático. + Al referenciar con this, hacemos referencia(valga la redundancia) al objeto que se está ejecutando actualmente. + La referencia this es la manera en que un objeto puede pasarse a sí mismo como parámetro hacia un método. P. ej.: public void miMetodo(){ MiClase mc = new MiClase(); mc.hacerAlgo(this); //se pasa como parámetro el objeto actual. }
  • 8. Constructores SobreCargados Sobrecargar un constructor significa escribir versiones múltiples del constructor de una clase, cada uno de ellos con una lista diferente de argumentos, algo parecido a lo que se muestra a continuación: class Animal{ Animal(){} Animal(String nombre){} Animal(String nombre, int edad){} } En la clase anterior (la clase Animal) podemos identificar que existen 3 constructores sobrecargados, uno que toma una cadena como argumento, otro que toma una cadena y un entero y otro sin argumentos.
  • 9. Excepciones Este lenguaje Java tiene desde su origen una vocación de independencia del sistema operativo, lo que le confiere unas características que permiten su ejecución en redes de ordenadores con diferentes sistemas operativos, acceso remoto a objetos en otras maquinas de red, etc. Todas estas ejecuciones son una fuente principal de errores en especial el uso de periféricos como son: teclado, impresora, escanner, etc. Todas estas circunstancias pueden provocar desastres en la ejecución del programa que suponen la finalización de la aplicación de forma descontrolada dejando ficheros abiertos, pérdida de datos por falta de su archivo. Dentro de este lenguaje existe una estructura que puede controlar errores, creando el concepto de excepción, que es un objeto que se genera automáticamente cuando se produce un acontecimiento circunstancial.
  • 10. Estructura Try – catch Try{ [Bloque de sentencias que se ejecutan en circunstancias normales] } catch (Clase Excepción1 e){ [Bloque que se ejecutan si se ha producido una excepción de la clase Excepción2] } catch (Exception e){ [Bloque que se ejecutan si se ha producido una excepcion no capturada anteriormente] }finally { [Bloque de sentencias que se ejecutan siempre] }
  • 11. Ejemplo Import java.io.*; Public class Excepcion1{ public static void main(String args[]){ BufferedReader teclado = new BufferedReader(new InputStreamReader (System.in)); boolean error = false; do{ try{ error=false; System.out.print(«nIntroduce un numero: «); String texto= teclado.readLine(); int i = Integer.parseInt (texto); System.out.print(«Teclea otro numero: «); texto = teclado.readLine(); int j = Integer.parseInt (texto); System.out.printf(«La división %d/%d = %dn», i,j,i/j);
  • 12. Ejemplo: } catch (Exception e) { //Muestra error producido System.out.println(e.getMessage()); /* Imprime las llamadas producidas hasta el método que generó el error */ e.printStackTrace(); error = true; } }while (error); }
  • 13. Generación de excepciones sentencia throw La sentencia throw permite al programador generar excepciones específicas para la lógica de sus aplicaciones. La clase persona muestra como el método ponEdad genera una excepción cuando la edad es menor de cero y mayor a cien. el método que ha realizado la llamada ponEdad() se captura la excepción a través del bloque catch de la clase Exception Public class Persona{ private int edad; public void ponEdad(int edadNueva) throws Exception{ if (edadNueva < 0 || edadNueva > 100) throw (new Exception («Edad no valida»)); edad = edadNueva; } public String toString(){ return «Edad: «+ edad; } }