我为什么要使用封装和抽象?

时间:2013-02-13 01:59:17

标签: java python oop

我总是采用流行的使用访问修饰符和封装的惯例,以确保一个类在实现错误时不会中断。但是,我注意到OOP确实不需要封装,并且使用访问修饰符实际上会导致更多的麻烦而不是好处。此外,通过不使用访问修饰符,您更多的是OO程序员。我的推理列在下面。

  1. Python支持OOP但它不使用访问修饰符或封装。在OOP语言中显示访问修饰符不是必需的。

  2. 虽然编译器更先进,但使用访问器方法与可变访问之间仍存在纳秒级差异。在像Android这样受限制的系统中,这会严重影响游戏FPS。 (尽管在方法中使用最终修饰符会在大多数情况下显着降低纳秒级差异)

  3. 通过不使用私有或包修饰符,编码对于原始编码器变得更简单,更快捷。该类的未来用户仍然可以使用公共接口而不会破坏或使用类实现。此外,如果他希望修改或升级课程,他仍然可以这样做并访问私人修饰符。类比地,当你决定改装汽车时,你知道有可能会破坏某些东西,但是如果你愿意冒险并且知道你正在做什么被允许打开一把清楚的锁标志说(打开你自己的风险)比必须更换牢不可破的锁,锁定你想要修改的部分要好。

  4. 我现在所做的是公共接口的公共修饰符和实现细节的受保护修饰符,因此用户可以通过子类进行冒险。我有没有理由重新考虑这样做而不是传统的封装?

0 个答案:

没有答案