-
e) para declarar que a classe chamada Funcionario herda a classe Pessoa e implementa a interface ITributável utiliza-se o comando pub.lic clas.s Funcionario exte.nds Pessoa: impl.ements ITributavel { }.
Mesmo erro da alternativa B, em C# não possuimos as palavras reservadas: extend.s e impleme.nts. O comando da alternativa ficaria assim em C#: ... funcionários : Pessoa, ITributavel
-
d) herança múltipla (quando uma subclasse é filha de mais de uma superclasse) não é suportada, porém, cada classe pode implementar diversas interfaces diferentes.
GABARITO DA QUESTÃO, Exceto c++ e python desconheço alguma outra linguagem que permita herança múltipla;
-
c) interfaces são mais complexas do que classes já que necessitam de atributos e métodos com implementação e sintaxe diferenciada.
Basicamente uma interface não pode ter métodos implementados, sobre a sintaxe diferenciada está correto já que usamos a própria palavra interface para implementar um interface
-
b) para declarar que uma classe chamada PessoaJuridica implementa uma interface chamada ITributavel utiliza-se o comando pub.lic clas.s PessoaJuridica: implements ITributavel { }.
Muito importante não confundir com a linguagem java, em C# não possuímos a palavra reservada impleme.nts. Ex.:
Java - PessoaJuridica implements ITributavel
C# - PessoaJuridica: ITributavel
-
Primeiramente desculpe o incomodo por colocar cada alternativa em um comentário, mas o site não deixou inserir todas as alternativas em um mesmo comentário;
a) métodos declarados em uma interface só podem ser públicos ou protegidos e não podem possuir implementação.
Em c#, métodos em um interface só podem ser públicos e sem implementação;