虚函数与纯虚函数
c++
虛函數
虛函數的作用是實現動態聯編,也就是在程序的運行階段動態地選擇合適的成員函數,在定義了虛函數后,可以在基類的派生類中對虛函數重新定義,在派生類中重新定義的函數應與虛函數具有相同的形參個數和形參類型(也就是完全相同的方法,不能只是函數名相同。)。以實現統一的接口,不同的定義過程。如果在派生類中沒有對虛函數重新定義,則它繼承其基類的虛函數。
當程序發現虛函數名前的關鍵字virtual后,會自動將其作為動態聯編處理,即在程序運行時動態地選擇合適的成員函數。虛函數是C++多態的一種表現。動態聯編規定,只能通過指向基類的指針或基類對象的引用來調用虛函數,其格式:總結:如果一個子類想要重寫父類的方法,那么父類的這個成員方法必須是virtual的,也就是這個方法必須是虛函數。
java
在java中,所有方法默認就是虛擬的,只要方法不是聲明為final類型的,那么肯定就是虛函數,不用為方法顯示聲明為virtual。在<core java2 :volum I>中提到:"In Java, you do not need to declare a method as virtual. Dynamic binding is the default behavior. If you do not want a method to be virtual, you tag it as final"。所以我們發現,在java中,子類可以重寫(override)父類的方法,而父類沒有聲明virtual。
?
?本文轉自xwdreamer博客園博客,原文鏈接:http://www.cnblogs.com/xwdreamer/archive/2012/04/12/2444221.html,如需轉載請自行聯系原作者
總結
- 上一篇: jQuery |添加标签元素/内容
- 下一篇: viewport,html,body在p