Na priklausomai kam ta klasė skirta, šiaip OOP svarbu loginis objektų išdėstymas ir jų priklausomumas vienas nuo kito. Klasės paveldėmumas turėtu būti tose vietose kur realiai jo reikia, klasės kintamiesiems ir funkcijoms turėtų būti nubrėžta aiški prieinamumo riba. Pas tave visur public, vadinas $test galiu išsiprinti/keisti iš klasės išorės:
$obj = new db();
#niekas nedraudzia man klases $test reiksme pakeisti
$obj->test = 'mano reiksme';
echo $obj->test;
#bet tai yra bloga praktika, nes nera jokios enkapsuliacijos
OOP tai ne sintakse. Darant kokį appsa reiktų braižyti schemas (ant popieriaus ar galvoje) kokia ir kur klasė turėtu stovėti.. ar ji turėtų būti įprasta, abstrakti ar išvis interfeicas tik.. kam bus skirta motininė klasė ir kam jos vaikai.. kas gali 'paliesti' klasės funkcijas.. ir turi būti "it make sense" kodėl pas tave yra taip, o ne kitaip.
Dėl to čia galime maždaug pasakyti kad ar klasės sintakė gera ir ar reikalingas vienas ar kitas kodo gabaliukas, bet ar taikoma OOP'as pas tave iš kelių eilučių nepasakysim..
P.S. Su duombaze galima visai neblogai žaisti su PDO, ten klasė dėl to nesunkiai įlipdysi į OOP'a orientuotą appsa ;)