Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Sobre o exercício: Propriedades podem ser virtuais?

Olá, ao criar o campo inteiro público, conforme instruído no exercício, encontrei esse erro. Poderia me ajudar? Insira aqui a descrição dessa imagem para ajudar na acessibilidade

2 respostas
solução!

Bruna,

Sim, as propriedades também podem ser virtuais, mas tem algumas regras.

As propriedades virtuais se comportam como métodos virtuais, exceto pelas diferenças na sintaxe de declaração e invocação.

  • É um erro usar o modificador virtual em uma propriedade estática.
  • Uma propriedade herdada virtual pode ser substituída em uma classe derivada incluindo uma declaração de propriedade que usa o modificador override.

Por favor, leia este artigo da Microsoft, só 3 minutinhos... não pule!

==========================================================

virtual (Referência de C#)

Artigo - 06/04/2022 - 3 minutos para o fim da leitura

https://docs.microsoft.com/pt-br/dotnet/csharp/language-reference/keywords/virtual

==========================================================

Agora sobre o erro...

.. acredito que NÃO é o fato da variável ser virtual que está apontando erro. O detalhe é que simplesmente você NÃO pode fazer "override" desta variável. Espere! Você pode fazer "override" de variável?!? Eps... isso eu não sei... nunca vi ...

Veja a mensagem:

Erro override

==========================================================

Erro do compilador CS0106

Artigo - 15/09/2021 - 2 minutos para ler

Um membro de classe ou interface foi marcado com um modificador de acesso inválido.

https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/cs0106

==========================================================

Admito que você vai gastar mais tempo para fazer este tutorial... mas vale a pena:

==========================================================

Herança em C# e .NET

Artigo - 10/05/2022 - 26 minutos para o fim da leitura

Este tutorial apresenta a herança em C#. Herança é um recurso das linguagens de programação orientadas a objeto que permite a definição de uma classe base que, por sua vez, fornece uma funcionalidade específica (dados e comportamento), e a definição de classes derivadas que herdam ou substituem essa funcionalidade.

https://docs.microsoft.com/pt-br/dotnet/csharp/fundamentals/tutorials/inheritance

==========================================================

SOBRE O OVERRIDE:

==========================================================

override (referência de C#)

Artigo - 06/04/2022 - 3 minutos para o fim da leitura

O modificador override é necessário para estender ou modificar a implementação abstrata ou virtual de um método, propriedade, indexador ou evento herdado.

https://docs.microsoft.com/pt-br/dotnet/csharp/language-reference/keywords/override

==========================================================

[]'s,

Fabio I.

Muito obrigada, Fabio =)