Crie uma classe que contabilize a quantidade de ingressos vendidos. Existem dois tipos de ingresso, o Pista e o VIP.
Passo 1
E aí, pessoal, tudo certinho?
A questão é de boas.
A gente precisa desenvolver uma classe que sempre que instanciar um novo objeto vai contabilizar um ingresso adicional. Quando precisamos contar a quantidade de objetos criados, a melhor forma é utilizar membros estáticos.
Mas antes vamos começar com o cabeçalho da questão.
Passo 2
Vamos iniciar a nossa classe :
Dentro do encapsulamento privado, a gente vai declarar os atributos estáticos. A gente precisa contabilizar a quantidade de ingressos vendidos para a pista e também para a área VIP. Então vamos criar dois atributos estáticos e . Para isso é só adicionar a palavra chave :
Agora vamos mudar o encapsulamento para público onde iremos desenvolver o construtor, uma função sem tipo com o mesmo nome da classe. O construtor vai receber apenas um único valor booleano que define se o ingresso vendido é ou não do tipo VIP.
Dentro do construtor vamos utilizar uma estrutura que caso incrementa o atributo estático caso o parâmetro seja , e incrementa o atributo estático caso o parâmetro seja :
Para garantir o acesso aos membros estáticos vamos criar um getter para cada um dos atributos. Note que esses getters vão acessar apenas membros estáticos, então o ideal é que estes sejam métodos estáticos. Para isso é só adicionar a palavra chave :
Show. A estrutura da classe está pronta, podemos fechar a nossa classe!
Agora precisamos inicializar os membros estáticos. Lembre-se, membros estáticos não podem ser inicializados dentro dos parêntesis da classe.
Passo 3
Então, logo após a classe vamos invocar os atributos estáticos e inicializa-los com o valor inicial zerado. Lembre-se que não é necessário usar a palavra-chave novamente.
Logo em seguida, podemos inicializar definir o comportamento dos métodos estáticos. Estes são métodos getters simples, que apenas retornam o conteúdo das variáveis estáticas.
E pronto! A classe está pronta e os membros estáticos estão definidos!