//Instanciar una clase en un objeto
Auto bmw=new Auto();
Auto seat;
// Puedo acceder a las cosas que he definido en la clase
bmw.color="Azul metalizado";
bmw.arrancar();
// Para usar un objeto lo tengo que instanciar
seat=new Auto();
seat.color="Verde";
Auto[] concesionario= {bmw,seat,new Auto(),new Auto(),new Auto()};
concesionario[0].color="Rojo";
System.out.println(bmw.color);
seat=new Auto();
// seat ----> [color,arrancar] (Auto@372f7a8d)
System.out.println(seat);
Auto copia=seat; // no copio el objeto, apuntan al mismo sitio
// Si cambio uno cambio el otro y viceversa
// seat ----> [color,arrancar]
// copia ------^
System.out.println(copia); //Auto@372f7a8d
Auto clonado=new Auto();
clonado.color=bmw.color;
Auto miCoche = new Auto();
miCoche.color = "Rosa";
miCoche.arrancar();
miCoche.estado();
miCoche.acelerar();
miCoche.estado();
for (int i = 0; i < 10; i++) {
miCoche.acelerar(200);
}
miCoche.estado();
Alumno ana=new Alumno();
ana.nombre="Ana Pi";
ana.notas.addAll(Arrays.asList(1,2,3,4,5,6));
System.out.println(ana.media());
// Definición de la clase, no es un objeto
public class Auto {
public String color;
int velocidad;
int limiteVelocidad = 100;
public void arrancar() {
velocidad = 0;
System.out.println("Brum brum ");
}
public void acelerar() {
acelerar(10);
}
public void acelerar(int cantidad) {
velocidad += cantidad;
if (velocidad > 100) {
velocidad = 100;
}
}
public void frenar() {
if (velocidad > 10) {
velocidad -= 10;
}
}
public void estado() {
System.out.println("Vamos a " + velocidad + " por horaa!!");
}
}
import java.util.ArrayList;
public class Alumno {
// El public es un modificador de acceso
// Quiere decir que cualquiera puede acceder al valor
public String nombre;
// Tenemos tres sabores de protección
// public, protected y private
private ArrayList<Integer> notas;
// Los parámetros que queremos poner al crear la clase
public Alumno(String nombre) {
// Las cosas que queremos que se ejecuten
// cuando creamos la clase
// this.nombre es el nombre del objeto
// nombre es el parámetro que le pasamos
this.nombre = nombre;
notas = new ArrayList<Integer>();
}
public Alumno() {
// Llamando a la sobrecarga del constructor
this("anonimo");
}
public int ponNota(int nota) {
// Me aseguro de que mis notas están entre 0 10
if (nota > 0 && nota <= 10) {
notas.add(nota);
}
return notas.size();
}
public double media() {
double total = 0;
// Desde dentro de la clase si que puedo acceder
for (int nota : notas) {
total += nota;
}
return total / this.notas.size();
}
}