protected vs. private property triedy – ako ich používate

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
japlavaren
Člen | 404
+
0
-

Na začiatok, viem, aký je rozdiel mendzi protected a private, ale:

<?php
class Model
{
	/** @var Nette\Database\Context */
	protected $db;

}
?>

Ak mám takýto model, nepredpokladám, že z neho budem dediť a ak by aj áno, nevadí mi, že ho bude potomok používať.

Je nejaký argument, prečo by mala byť property private?

Ja som si zvykol pivate používať vtedy, ak na nesmiem i v rámci triedy siahať priamo tj. musím použiť getter (ktorý napr. vyhodí výnimku ak je property prázdna).

Ako to riešite vy, resp. ak to máte private, ako riešite stav property, na ktorú sa smie siahnuť len i v rámci triedy len getterom?

Editoval japlavaren (28. 11. 2014 16:17)