Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

public e private funcionamento

Gostaria de entender melhor se alguém souber ajudar. Quando crio uma private $saldo = 0; quer dizer que somente quem tem acesso ao código da classe consegue acessar a variável? e se eu criar o public $saldo = 0; qualquer pessoa consegue digitar $saldo = 9; e mudar o valor da variável? nao compreendi direito sobre o uso do private e public eu acho. No curso fala assim: "A ideia é tornarmos o campo $saldo privado, de forma que somente a própria Conta consiga acessá-lo. Ou seja, ao criarmos a $primeiraConta, somente essa instância terá acesso ao seu atributo por meio dos métodos que ela pode executar." ai pensei que sendo public em qualquer lugar posso chamar a $saldo e modificar e usando private não tem como mudar. To viajando???

1 resposta
solução!

Olá, Weslley. É basicamente isso que você entendeu.

Se um membro é privado, apenas dentro do código da própria classe conseguimos acessá-lo e modificá-lo. Dessa forma não vamos poder mudar o saldo desconsiderando as regras de uma conta através de suas instâncias.

E para conseguirmos visualizar o saldo, ou realizar operações, vamos usar métodos públicos na classe. Como o método está na classe, ele tem acesso à propriedade. E como o método é público, podemos chamá-lo a partir das instâncias.

Sendo assim, um método sacar, por exemplo, tem acesso ao saldo, é disponível através das instâncias, e garante que as regras sejam respeitadas (que a gente não possa sacar mais do que nosso saldo, por exemplo).