因此,关于此问题,我已经在Stack Overflow上阅读了一堆类似的问题,并且我认为我对这两者之间的区别有很好的了解。我的问题是,除了某些操作对于程序员来说更容易之外,弱类型是否比强类型具有任何优势。虽然我同意强类型语言不必要地使类型之间的某些操作复杂化,但似乎所有事情仍然可以用强类型语言来完成,而有些麻烦。
就个人而言,我可能更喜欢强类型输入的额外安全性,并且可以对某些操作处理一些小麻烦,但是弱类型输入是否还有其他优点呢?有什么强类型打字无法做到的事情吗?
最佳答案
某些语言提供了在运行时更改对象或类的行为的概念:未实现方法的对象可能仍会决定找到一种方法来响应方法调用。
在Objective-C中,委派是让另一个对象响应客户消息的一种常用方法。对象可以检测到缺少的实现,并将方法调用传递给委托。也可以在调用方法时动态添加方法的实现。
这些概念基于动态方法查找,而不是弱类型与强类型。但是弱类型与动态查找紧密相关,因此我认为这是一个优势。