【问题标题】:Android: A PendingIntent is a form of an Intent, then why isn't PendingIntent a subclass of Intent?Android:PendingIntent 是 Intent 的一种形式,那为什么 PendingIntent 不是 Intent 的子类呢?
【发布时间】:2014-10-21 11:50:37
【问题描述】:
他们说
通常,当两个之间存在“is-a”关系时
实体,在OOP方面存在继承关系。
例如
“山地车就是自行车。”
所以MountainBike 也是Bicycle 的子类,因为MountainBike 继承了Bicycle 的属性,并且也有自己的一些属性。
现在,一般来说,PendingIntent 就是一个 Intent,不是吗?那么为什么 PendingIntent 是 Intent 的子类呢?
参考:Developer docs
【问题讨论】:
标签:
java
android
inheritance
android-intent
android-pendingintent
【解决方案1】:
一般来说,PendingIntent 就是一个 Intent,不是吗?
最好将PendingIntent 视为Intent 的包装,标识要执行的操作(启动活动、启动服务、发送广播)以及该操作应在其下的安全上下文执行。
因此,“has-a”关系模型在这里是一种完全合理的方法。