【发布时间】:2018-08-14 11:40:25
【问题描述】:
C++ 中的多态性与 Java 中的多态性相同吗?另外当我们说多态有静态和动态类型时,C++中是否存在相同的东西?
【问题讨论】:
-
OOP 的高级概念与语言无关。它们在每种语言的结构中的实现方式是不同的。每种 OOP 语言在语义和语法上都有差异。计算机语言随着时间的推移而发展,如果不破坏大量现有代码(价值数百万人年),很难添加新设施;所以有时新设施并没有以最优雅的方式添加。
-
是的,我知道并理解这一点,但是为什么对多态性是否有类型存在普遍分歧(imo)?
-
多态的基本概念与编程语言无关。支持它的机制(例如,实现多态性的代码构造)在 C++ 和 Java 之间存在一些微妙且不那么微妙的方式不同。每种语言的程序员 - 特别是新手,但也有一些糟糕的两种语言的老师 - 习惯于将他们选择的语言的机制描述/混为一谈为多态性。顺便说一句:C 编程通常不被认为等同于函数式编程,所以你也在混淆概念。
-
您能否添加对这个“...一般分歧...”的引用。请。
-
美国不同地区的人们对可口可乐饮料产品的通用名称存在分歧。 “苏打水”、“汽水”、“可乐”(通称)……同理,学术界人士在术语甚至“多态性”等术语的基本定义上也存在分歧。对于那些认为这些术语在任何地方都有一个单一的、精确的含义的人来说,这可能会让他们感到惊讶。
标签: java c++ oop polymorphism