Immagina questa semplice classe PHP:
<?php
class MyParent
{
// this is our common method, we don't use this method anywhere in parent class
// but we may or may not use this method in some child classes.
protected function helperMethod()
{
// code
}
}
Come è avere metodi come quello più importante nelle nostre classi? È questo OOP? Non ho buone sensazioni a riguardo, perché se non usassimo questi metodi nei nostri corsi per bambini saranno completamente inutili e possono confondere le persone. per favore dimmi la tua idea.
Un altro esempio:
abstract class Package
{
// We will never use this method in this class
protected function getAConfigParam()
{
ConfigHolder->getParam('myconfig');
}
public function register()
{
[...]
this->registerPackage();
[...]
}
abstract public function registerPackage();
}
class PackageForCli extends Package
{
public function registerPackage()
{
// We will use getAConfigParam method here.
}
}
class PackageForWeb extends Package
{
public function registerPackage()
{
// We will use getAConfigParam method here.
}
}
Nell'esempio in alto abbiamo anche accesso a ConfigHolder nelle classi figlie, ma quale dovremmo usare? metodo getAConfigParam o ConfigHolder?