Considerando o trecho de programa Java mostrado acima, julgu...
int cadence = 0;
int speed = 0;
int gear = 1;
void changeCadence(int newValue) {
cadence = newValue;
}
void changeGear(int newValue) {
gear = newValue;
}
void speedUp(int increment) {
speed = speed + increment;
}
void applyBrakes(int decrement) {
speed = speed - decrement;
}
void printStates() {
System.out.println(“cadence:“+cadence+”speed:
“+speed+”gear:“+gear);
}
}
class BicycleDemo {
public static void main(String[] args) {
Bicycle bike1 = new Bicycle();
Bicycle bike2 = new Bicycle();
bike1.changeCadence(50);
bike1.speedUp(10);
bike1.changeGear(2);
bike1.printStates();
bike2.changeCadence(50);
bike2.speedUp(10);
bike2.changeGear(2);
bike2.changeCadence(40);
bike2.speedUp(10);
bike2.changeGear(3);
bike2.printStates();v }
}
O trecho de programa em apreço define instâncias da classe Bicycle.
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: C - certo
A questão aborda o conceito de instanciação de objetos em Java, que é um dos pilares fundamentais da programação orientada a objetos. Para responder à questão com sucesso, é necessário entender que uma classe define uma estrutura para objetos, enquanto a criação de um objeto concreto dessa classe é chamada de instanciação.
No código apresentado, duas instâncias da classe Bicycle são criadas. Isso é feito no método main da classe BicycleDemo, onde as seguintes linhas de código são responsáveis pela instanciação:
Bicycle bike1 = new Bicycle(); Bicycle bike2 = new Bicycle();
As palavras-chave new seguidas pelo nome da classe Bicycle indicam que estão sendo criadas duas novas instâncias (ou objetos) da classe Bicycle. Cada uma dessas instâncias é referenciada por uma variável: bike1 e bike2. Após a criação das instâncias, métodos como changeCadence, speedUp, changeGear e printStates são chamados em cada objeto, modificando e exibindo seus estados. Portanto, a afirmação de que o trecho de programa define instâncias da classe Bicycle está correta.
Compreender a diferença entre classe e objeto é vital para a programação orientada a objetos e para a linguagem Java, e essa questão examina diretamente esse conhecimento.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo