我有两个非常相似的课程。比方说A类和B类。
+---------------+ +---------------+
| Class A | | Class B |
|---------------| |---------------|
| Name | | Name |
| ZIP | | ZIP |
| TelPhone | | TelPhone |
| | | MobilePhone |
+---------------+ +---------------+
我想在所有常见属性的值中比较它们。
这是我尝试过的一种方法,但是对所有属性(不止3个属性)都这样做对我来说似乎有点过头了:
$differences = array();
if($classA->getName() != $classB->getName()) {
array_push(
$differences,
array('name' => array(
'classA' => $classA->getName(),
'classB' => $classB->getName()
)
));
}
// and the same code for every attribute....
这里最好的方法是什么?
除了手工之外,如果课程发生变化,它也不会自动更新。例如,如果 A 类也获得 MobilePhone 属性。
请不要告诉我,我应该做一些多态性,这只是一个澄清的例子。
我对差异感兴趣,因此不仅是属性,还有属性内的值本身。
谢谢