Ed
há 8 meses
Vamos analisar cada uma das alternativas para determinar qual é a correta: (A) a classe C1 só pode herdar de C2 se C2 possuir pelo menos um de seus atributos classificado como public ou protected; Incorreta. Uma classe pode herdar de outra independentemente dos modificadores de acesso dos atributos. O que importa é que a classe C1 pode acessar os membros de C2 que são public ou protected. (B) o objeto a tem acesso direto a todos os atributos e métodos definidos em C1 e em C2; Correta. O objeto a, sendo uma instância da classe C1, tem acesso a todos os atributos e métodos definidos em C1 e também aqueles que são herdados de C2, desde que sejam public ou protected. (C) a atribuição do objeto a ao objeto c (c = a;) é válida; Incorreta. Isso não é válido, pois c é um objeto da classe C2 e a é um objeto da classe C1. Não se pode atribuir um objeto de uma subclasse a uma variável de uma superclasse sem um cast apropriado. (D) os métodos public definidos e implementados em C2 são acessíveis por qualquer objeto da classe C1; por este motivo, não é possível sobrescrevê-los em C1; Incorreta. Os métodos public de C2 são acessíveis em C1, mas eles podem ser sobrescritos em C1, desde que sejam definidos como override. (E) a e b possuem o mesmo conjunto de atributos, armazenando os mesmos valores. Incorreta. Embora a e b sejam instâncias da mesma classe C1, isso não garante que eles armazenem os mesmos valores, pois cada instância pode ter seus próprios valores para os atributos. Portanto, a alternativa correta é: (B) o objeto a tem acesso direto a todos os atributos e métodos definidos em C1 e em C2.
Já tem uma conta?
Ao continuar, você aceita os Termos de Uso e Política de Privacidade
Mais perguntas desse material