请参阅以下对象:
interface IMedia
{
public function getThemed();
public function getDownloadLink();
}
class Video implements IMedia
{
public function getThemed() {}
public function getDownloadLink() {}
}
如果有一些常见属性,例如:
public $size;
public $uploadedDate;
public $hitCounts;
他们可以加入IMedia吗?或者是否建议在那个地方使用抽象类?
答案 0 :(得分:3)
@Muneer
首先,这是不可能的。接口不允许这样做。我建议做这样的事情:
interface IMedia {
}
abstract class AbstractMedia implements IMedia {
public $property = "value";
}
答案 1 :(得分:0)
嗯,总的来说,你当然希望尽可能抽象。所以访问器/ mutator完全有意义,以避免仅为访问器/ mutator进行类型转换。现在将赢得引入一个仅用于属性实现的抽象类。