Skip to content

Latest commit

 

History

History
53 lines (42 loc) · 1.7 KB

29.md

File metadata and controls

53 lines (42 loc) · 1.7 KB

Pergunta

29 - Escreve o código de uma classe que contenha:

  • Uma variável de instância só de leitura
  • Uma propriedade (de instância) só de leitura
  • Uma variável de classe só de leitura
  • Uma propriedade de classe só de leitura
  • Um construtor que inicialize as variáveis/propriedades relevantes

A classe deve ser adequadamente comentada, com explicações ou descrições sobre o que cada linha de código faz ou representa.

Soluções

Solução 1

public class Player
{
    // Declarar variáveis
    // Variável de Instância readonly
    private readonly string name;
    // Variável de Classe dialogue, readonly
    private static readonly string dialogue = "I'll take a look at your " +
        "wares";

    // Propriedade de Classe Age, só de leitura, de valor 25
    private static int Age { get; } = 25;
    // Propriedade readonly, pois apenas tem método get
    private int MoveOrder { get; }

    // Construtor da Classe Player
    public Player(string name, int moveOrder)
    {
        // Instanciar variável name através da variável dada ao construtor
        this.name = name;
        // Instanciar propriedade MoveOrder através da variável dada ao 
        // construtor
        this.MoveOrder = moveOrder;
    }

    // Override do método ToString(), usado para confirmar que a instância
    // possui todas as variáveis e propriedades de instãncia e de classe
    public override string ToString() => $"Name: {name}\nAge: {Age}\n" +
        $"Voice Line: {dialogue}\nMove Order: {MoveOrder}";
}

Nota: Código de teste para este exercício encontra-se neste repositório.

Por Pedro Inácio.