- Fiquei curioso, não faria mais sentido criarmos uma classe Filme instanciando o filme Escola do Rock?
- Além disso as opções trazem "filme1.Titulo" e "filme1.AnoLancamento", ambos os atributos estão em Pascal Case o que resulta num erro de compilação.
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Olá, Maycon.
Tudo bem?
Sobre a Classe e Instância, no contexto de Orientação a Objetos, a classe é um molde que define a estrutura e o comportamento dos objetos, enquanto a instância é um objeto criado a partir dessa classe. No seu exemplo, a classe EscolaDoRock define os atributos titulo e anoLancamento e o método ExibirInformacoes. Quando você cria EscolaDoRock filme1 = new EscolaDoRock();, filme1 é uma instância da classe EscolaDoRock. Portanto, faz sentido instanciar a classe EscolaDoRock para representar um filme específico, como "Escola do Rock".
Sobre Pascal Case e Erro de Compilação.No C#, é uma convenção usar Pascal Case para nomes de classes e métodos, e camelCase para nomes de variáveis e atributos. No seu código, os atributos titulo e anoLancamento estão em camelCase, mas nas opções de resposta estão em Pascal Case (Titulo e AnoLancamento). Isso realmente causaria um erro de compilação. O correto seria:
EscolaDoRock filme1 = new EscolaDoRock();
filme1.titulo = "Escola do Rock";
filme1.anoLancamento = 2003;
filme1.ExibirInformacoes();
Portanto, a alternativa correta seria a C, mas com a correção nos nomes dos atributos:
EscolaDoRock filme1 = new EscolaDoRock();
filme1.titulo = "Escola do Rock";
filme1.anoLancamento = 2003;
filme1.ExibirInformacoes();
Espero ter ajudado. Qualquer dúvida manda aqui. Bons estudos.