Sri*_*thy 4 c# java interface
接口提供了有用的抽象功能.可以有一个类Foo实现一些接口,例如A,B和C.一些客户端代码可以获得类型A的引用,其他类型的类型B等等.每个实际上都是相同的Foo对象但是接口只暴露一个狭窄的功能的子集.当然,邪恶的客户端代码可以尝试将A引用转换为Foo,然后访问其他功能.如何防止这种情况?
Thi*_*ilo 10
这称为"恶意转换",您可以通过使用仅实现您要公开的窄接口的包装器来阻止它(通过委托对您将以其他方式直接传递给恶意客户端的对象的私有引用).
但是,如果客户端不仅是邪恶的,而且功能强大,他或许可以使用反射来获取隐藏的引用.
归档时间:
15 年,5 月 前
查看次数:
669 次
最近记录: