+ 2
Getters y Setters
public class Vehicle { private String color; // Getter public String getColor() { return color; } // Setter public void setColor(String c) { this.color = c; } } class Program { public static void main(String[ ] args) { Vehicle v1 = new Vehicle(); v1.setColor("Red"); System.out.println(v1.getColor()); } } De todo este codigo solo tengo dudas sobre el Setter. No entiendo que es la letra C
6 Answers
+ 4
Te explico para ver si lo hago entendible:
El setter es un método igual que cualquier otro, con la particularidad de que como norma, se usa para modificar los atributos de una clase.
Por tanto al ser un método su sintaxis es
<visibilidad (public, private o protected)> <tipo de dato que reretornarĂĄ> <nombre funciĂłn> (<argumento>)
Por tanto en resumen a tu pregunta, la c le indica al compilador que este mĂ©todo necesita 1 argumento en este caso de tipo String, en caso de necesitar 2 argumentos serĂa serColor(String c, int b), c y b en este caso definen que tienen que ser 2 argumentos.
Espero te haya ayudado.
Saludos
+ 2
Your initializing the color variable in your object using the set method. this.color = c basicly means find the color variable in the object and set its colour to the same value as the c parameter. This is called encapsulation because you have to use a method to set a private field you cannot accsess it directly. v1.color="red"; would not work, but if you remove the private accsess modifier it will work.
EstĂĄs inicializando la variable de color en tu objeto usando el mĂ©todo set. this.color = c bĂĄsicamente significa encontrar la variable de color en el objeto y establecer su color en el mismo valor que el parĂĄmetro c. Esto se llama encapsulaciĂłn porque tiene que usar un mĂ©todo para establecer un campo privado que no puede acceder directamente. v1.color = "rojo"; no funcionarĂa, pero si elimina el modificador de acceso privado funcionarĂĄ.
+ 2
public class Vehicle {
String color; //removed private
// Getter
public String getColor() {
return color;
}
// Setter
public void setColor(String c) {
this.color = c;
}
}
class Program {
public static void main(String[ ] args) {
Vehicle v1 = new Vehicle();
v1.color="red"; //set color directly
System.out.println(v1.getColor());
}
}
+ 1
c is a parameter were "red" was passed to it from the main method v1.setColor("red") and sets the private String color variable. Then getColor() returns the color that the SetColor() method set.
c es un paråmetro donde se le pasó "rojo" desde el método principal v1.setColor ("rojo") y establece la variable de color de Cadena privada. Luego getColor () devuelve el color que estableció el método SetColor ().
+ 1
Pero entonces este parametro no es un valor que se le asigna a Color, sino que es necesario para inicializar el Setter?
+ 1
Muchas gracias