python语言pool,python语言pop函数

dfnjsfkhak 30 0

大家好,今天小编关注到一个比较意思的话题,就是关于python语言pool的问题,于是小编就整理了1个相关介绍python语言pool的解答,让我们一起看看吧。

  1. 为什么Java不支持运算符重载?

什么Java支持运算符重载

JAVA不支持运算符重载,具体为什么,我可能说的不太完美,但J***a就是这么实用,热门,

C++C#不同,不支持多重继承没有指针,没有引用传递,就少了很多功能,下面我讲一下J***a不支持运算符重载的优点,实用性。

python语言pool,python语言pop函数-第1张图片-芜湖力博教育咨询公司
图片来源网络,侵删)

一、清晰性。

清晰性是J***a设计者的目标之一。设计者是希望有一种清晰,真正面向对象的语言。如果有运算符重载的话,肯定会比没有运算符重载设计更加复杂,甚至会减慢编译器速度

二、可以有效避免程序错误

python语言pool,python语言pop函数-第2张图片-芜湖力博教育咨询公司
(图片来源网络,侵删)

用运算符重载的话,可能会使整个项目开发人员处于特别紧张的状态,运算符重载将为同一运算符赋予多种含义,这样会增加很多编程错误,可以说这样会增加整个项目的难度,会让开发人员陷入一种无奈,到最后要去学习,去研究导致最后交付不了。因此没有太大的意义,所以这点好处是有的。

三、让开发处理更容易。

and

python语言pool,python语言pop函数-第3张图片-芜湖力博教育咨询公司
(图片来源网络,侵删)

可能很多人用过C++,就会发现,其实运算符重载也挺方便,但是在J***A中就不这样用,J***a的目标之一就是清晰性。

C# 可重载和不可重载运算符

【一】可重载运算符 说明

+, -, !, ~, ++, -- 这些一元运算符只有一个操作数,且可以被重载

+, -, *, /, % 这些二元运算符带有两个操作数,且可以被重载

==, !=, <, >, <=, >= 这些比较运算符可以被重载

【二】

不可重载运算符 说明

&&, || 这些条件逻辑运算符不能被直接重载

+=, -=, *=, /=, %= 这些赋值运算符不能被重载

=, ., ?:, ->, new, is, sizeof, typeof

1) 简单性和清晰性。

清晰性是 J***a 设计者的目标之一。设计者不是只想复制语言,而是希望拥有一种清晰,真正面向对象的语言。添加运算符重载比没有它肯定会使设计更复杂,并且它可能导致更复杂的编译器, 或减慢 JVM,因为它需要做额外的工作识别运算符的实际含义,并减少优化的机会, 以保证 J***a 中运算符的行为。

2) 避免编程错误。

J***a 不允许用户定义的运算符重载,因为如果允许程序员进行运算符重载,将为同一运算符赋予多种含义,这将使任何开发人员的学习曲线变得陡峭,事情变得更加混乱。

据观察,当语言支持运算符重载时,编程错误会增加,从而增加了开发和交付时间。由于 J***a和 JVM 已经承担了大多数开发人员的责任,如在通过提供垃圾收集器进行内存管理时,因为这个功能增加污染代码的机会, 成为编程错误之源, 因此没有多大意义。

3) JVM复杂性。

从JVM的角度来看,支持运算符重载使问题变得更加困难。通过更直观,更干净的方式使用方法重载也能实现同样的事情,因此不支持 J***a 中的运算符重载是有意义的。与相对简单的 JVM 相比,复杂的 JVM 可能导致 JVM 更慢,并为保证在 J***a 中运算符行为的确定性从而减少了优化代码的机会。

4) 让开发工具处理更容易。

这是在 J***a 中不支持运算符重载的另一个好处。省略运算符重载后使语言更容易处理,如静态分析等,这反过来又更容易开发处理语言的工具,例如 IDE 或重构工具。J***a 中的重构工具远胜于 C++。

到此,以上就是小编对于python语言pool的问题就介绍到这了,希望介绍关于python语言pool的1点解答对大家有用

标签: 运算符 重载 J***a