【发布时间】:2011-08-11 20:53:33
【问题描述】:
最近我遇到了一种情况,我需要为我的 android 应用程序创建一个自定义 VideoView。我需要访问 MediaPlayer 对象并添加一些侦听器。
不幸的是(对我而言),VideoView 类的所有成员都是私有的,因此即使扩展该类也无法帮助我访问其 MediaPlayer 对象(或其他任何东西),我必须完全复制与我的修改类。
好吧,虽然听起来我在抱怨“辛勤工作”,但在这种情况下,它比扩展课程更容易(因为所有资源都可用......),但这让我真的怀疑这一点信息隐藏方法。 这比让主要组件可供修改/访问(受保护,不公开)更好吗?我的意思是,我知道如果我扩展 VideoView 类,有一天他们可能会改变VideoView 类和我可能会遇到麻烦,但如果他们改变类,我自己的(重复)版本将与 VideoView 类有更大的不同,我的目标不是创建自己的视频视图,而是扩展可用的 VideoView。
【问题讨论】:
标签: java oop encapsulation information-hiding