package com.trifulcas.repaso.oop; // Las clases las definimos con la palabra clave class // Y el nombre de la clase primera en mayúsculas // Recordad que en java el nombre del archivo y la clase debe ser el mismo public class Alumno { // Lo habitual es que todas las propiedades sean private // Para evitar que se puedan modificar desde el exterior private String nombre; private int nota; private String mail; // El constructor es la manera como se construye la instancia // de la clase. Es el punto de entrada // Podemos tener parámetros o no y podemos tener sobrecargas // Un ejemplo típico sería este. Usamos todas las propiedades public Alumno(String nombre, int nota, String email) { // La palabra clave this hace referencia al propio objeto // La usamos para desambiguar entre el nombre de los parámetros // y de las propiedades de la clase this.nombre = nombre; this.nota = nota; // Aquí no hace falta desambiguar porque se llaman diferente mail = email; } // Yo los constructores los puedo sobrecargar public Alumno(String nombre, int nota) { this.nombre = nombre; this.nota = nota; mail = "No tiene"; // this(nombre,nota,"No tiene") } // Si yo hago sobrecarga lo suyo es que llamemos al otro constructor public Alumno(String nombre) { /* Si yo quiero hacer esto this.nombre = nombre; this.nota = 0; mail = "No tiene"; Lo mejor es hacer esto: */ this(nombre,0,"No tiene"); // this hace referencia al constructor } public String getNombre() { return nombre; } public void setNombre(String nombre) { this.nombre = nombre; } public int getNota() { return nota; } public void setNota(int nota) { this.nota = nota; } public String getMail() { return mail; } public void setMail(String mail) { this.mail = mail; } }
package com.trifulcas.repaso.oop; public class TestOOP { public static void main(String[] args) { // Como el constructor de Alumno tiene parámetros // Ahora tenemos que pasar los valores que nos piden // Cada vez que hagamos una instancia del objeto Alumno ana=new Alumno("Ana",7,"ana@ana.com"); // Como tengo sobrecargado el constructor puedo llamarlo // solo con dos parámetros Alumno eva = new Alumno("Eva",6); } }