PHP的松散类型结构如何与PHP的面向对象特性相匹配?
另外,PHP是一种纯面向对象的语言吗?
提前谢谢。
我的意思是指出PHP的松散类型本质。准确地说,我指的是变量声明。PHP的这一缺点如何与其面向对象的性质相匹配。PHP5是否具有纯面向对象的特性?
发布于 2011-03-07 17:54:37
不,PHP不是一种面向对象的语言。事实上,他们后来实现了OOP。
PHP的低类型特性可以是bitc*,但同时它也非常方便。我真的不认为这有什么问题。如果你想使用严格类型,你必须在你的代码中强制它。您可以显式地将变量转换为特定类型:
$integer = (int) $stringVariableWithIntegerValue;
您可以使用===
操作符对类型进行强制检查。在我看来,PHP不是一个完整的OOP实现,但它从5.x开始就工作得很好。
$integer = 1;
$string = "1";
if($integer === $string) { // Will be false
...
if($integer == $string) { // Will be true
...
发布于 2011-03-07 18:15:49
我的意思是指出
的松散类型的本质。准确地说,我指的是变量声明。PHP的这一缺点如何与其面向对象的性质相匹配。
不知何故,您似乎有这样一种印象:动态类型是一个“缺点”。不是的,只是不同而已。它确实有它的陷阱,但几乎每个类型系统都是如此。
变量可以是任何类型。它也可以是一个对象。您可以在需要时显式(手动)进行类型检查。函数参数的对象的实际类型提示有语法糖。您可以隐藏类型以真正利用动态类型和对象。或者你可以什么都不用。它工作得很好。
PHP5是否具有纯面向对象的特性?
定义“纯”。PHP有对象。PHP不是面向对象的语言。当然也不是“纯粹”的。PHP的OOP看起来非常可靠(的确如此),但它可以在不杀死小猫的情况下完成工作。
https://stackoverflow.com/questions/5218162
复制相似问题