Herramientas de usuario

Herramientas del sitio


bloque3:clasesobjetos

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
bloque3:clasesobjetos [29/11/2019 00:34] – [Clase] Fernando Valdeónbloque3:clasesobjetos [16/09/2024 20:53] (actual) – editor externo 127.0.0.1
Línea 93: Línea 93:
    private int km;    private int km;
        
 +   //Constructor de la clase Coche
    public Coche(){    public Coche(){
-      //instrucciones+      //instrucciones que se realizan al crear un objeto Coche
    }    }
 } }
Línea 116: Línea 117:
 </code> </code>
  
 +Concluyendo, ¿qué hace el operador **new** cuando precede al constructor de una clase? Devuelve el valor de la referencia del objeto que se acaba de crear:
 +<code java>
 +// Declaro una variable de la clase Coche
 +Coche miVariable;
 +
 +// Asigno la referencia de un objeto Coche a la variable
 +miVariable = new Coche();
 +</code>
 +
 +La variable, no contiene el objeto sino la referencia (dirección) al lugar de la memoria en el que ha guardado.
 ==== Constructor no-args ==== ==== Constructor no-args ====
-Se conoce como el constructor que no recibe parámetros. Si en una clase no definimos ningún constructor, Java creará implícitamente un constructor llamado **no-args** que tiene el siguiente aspecto:+Se conoce como el constructor que no recibe parámetros. Si en una clase no definimos explícitamente un constructor, Java creará implícitamente un constructor llamado **no-args** que tiene el siguiente aspecto:
 <code java> <code java>
 public Coche(){ public Coche(){
Línea 155: Línea 166:
 </code> </code>
 ===== Variables de referencia ===== ===== Variables de referencia =====
-//Toda variable que no es de __tipo primitivo__ es una __variable de referencia__.//+//Toda variable que no es de __tipo primitivo__ es, sin lugar a dudas, una __variable de referencia__.//
  
 Las variables de referencia son todas las variables cuyo tipo de datos es una clase. No contienen al objeto en sí, sino una referencia (//dirección//) al objeto creado en la memoria del ordenador (heap). **Este es uno de los puntos más importantes del lenguaje Java.** Las variables de referencia son todas las variables cuyo tipo de datos es una clase. No contienen al objeto en sí, sino una referencia (//dirección//) al objeto creado en la memoria del ordenador (heap). **Este es uno de los puntos más importantes del lenguaje Java.**
Línea 179: Línea 190:
 //Muestro la matrícula que asigné al objeto desde coche1 //Muestro la matrícula que asigné al objeto desde coche1
 System.out.println(coche2.getMatricula());  System.out.println(coche2.getMatricula()); 
- 
  
 //Asigno a coche2 otro valor con la referencia de un nuevo objeto //Asigno a coche2 otro valor con la referencia de un nuevo objeto
Línea 185: Línea 195:
  
 //Ahora coche2 tiene un valor distinto: almacena otra dirección  //Ahora coche2 tiene un valor distinto: almacena otra dirección 
-// y referencia a un nuevo objeto+// y está referenciando a un nuevo objeto
 </code> </code>
  
Línea 257: Línea 267:
 La mayoría de IDE's permiten generar getters y setters.  La mayoría de IDE's permiten generar getters y setters. 
  
-En eclipse cuando tengamos el cursos en el editor de una clase, vamos al menu ''source'' -> ''Generate Getters and Setters''.+En //Eclipse// cuando tengamos el cursor del ratón en el editor de una clase, hacemos click derecho y vamos al menu ''source'' -> ''Generate Getters and Setters''.
 ---- ----
  
Línea 333: Línea 343:
  
 Las variables miembro pueden inicializarse con valores distintos de los anteriores en su constructor. Las variables miembro pueden inicializarse con valores distintos de los anteriores en su constructor.
-Las variables locales (de ámbito local) no se inicializan automáticamente. Se les debe asignar un valor antes de ser usadas. Los **atributos estáticos** solo pueden inicializarse en su definición (no es un constructor).+Las variables locales (de ámbito local) no se inicializan automáticamente. Se les debe asignar un valor antes de ser usadas. Los **atributos estáticos** solo pueden inicializarse en su declaración (no en un constructor).
  
  
bloque3/clasesobjetos.1574987645.txt.gz · Última modificación: 16/09/2024 20:53 (editor externo)