众所周知,Java和C++都是面向对象的编程语言,多态是面向对象语言最重要的特性之一。而实现多太的两项关键技术就是函数覆盖和延迟绑定。
函数覆盖
函数覆盖是指在基类和子类中的相同函数,这一点在C++和Java中是相同的。
延迟绑定
延迟绑定在有些地方也称作动态绑定,与之相对的有提前绑定/静态绑定。
在Java中,除了static和final关键字修饰的方法,其他所有的方法都是使用延迟绑定。
在C++中,除了virtaul关键字修饰的方法,其他的方法都是使用提前绑定。
在C中,因为不是面向对象的编程语言,也没有多态的概念,所有的方法都是提前绑定。