如何强制子类使用父类中的方法

问题描述:

我有一个类使用了需要由所有子类使用的方法。我如何强制所有的孩子班级使用这种方法?抛出接口?如何强制子类使用父类中的方法

编辑:我使用PHP。我的意思是这样的: 我有一个名为toLower()的方法,我有一个数据库,其中所有的列都是大写的,每次我从数据库中获取一个对象时,我需要使用toLower()方法使对象属性小写。我希望能够强制客户端用户在获取结果时使用该方法。

+1

你是什么意思的“武力”?孩子们的班级不能重写某种方法吗? – Mithrandir 2012-02-17 10:23:03

+1

你是什么意思的投掷界面? – wintersolutions 2012-02-17 10:23:30

+0

你在用什么语言? – penartur 2012-02-17 10:23:30

当您使用PDO与数据库交互时,可以使用PDO::ATTR_CASE将列名强制为由PDO::CASE_*常数指定的特定情况,例如,

$db = new PDO('mysql:host=localhost;dbname=test', $user, $pass, array(
    PDO::ATTR_CASE => PDO::CASE_LOWER 
)); 

如果你想要做的,由于某种原因你的映射层内,只需使用

对返回的行之前您在列映射到你的对象:

$row = array_change_key_case($row, CASE_LOWER); 

不知道该怎么回答你剩下的问题部分。为了得到更好的答案,请更新您的问题并显示相关的代码位。