多態性使用(VC++)

多態性:

多態性是指發出的同一條消息,被不同類型的對象接收時可能產生完全不同的行為

消息主要是指對類的成員函數的調用行為主要是指成員函數的不同實現

多態性是實現“一種接口,多種方法”的技術。

這裡“一種接口”指的是相同的函數名,“多種方法”指多種函數實現

多態的類型:

主要兩種:編譯時的多態和運行的多態

編譯時的多態是指通過函數的重載或運算符的重載來實現;運行時的多肽是通過虛函數來實現。

運行時的多態性是指在程序執行之前,還無法根據函數名和參數確定應該調用哪一個具體的實現函數,而必須在執行過程中,根據具體的情況動態確定應該調用哪一個函數。

多態的實現:運算符重載/函數重載/虛函數。

連編:

多態性的實現過程中,確定調用哪個同名函數的過程就是連編(binding)。

連編是指計算機程序彼此關聯的過程,就是把一個標識符名和一個存儲地址聯繫在一起的過程。

按照連編進行階段的不同,可以將連編分為靜態連編和動態連編多種,分別對應多肽實現的兩種方式。

靜態連編

在編譯階段實現的連編

在編譯過程中,編譯系統可以根據類型匹配特徵來確定程序中的調用操作和某個同名函數的實現之間的關係,也就是說確定某個同名方式到底調用哪一段函數代碼實現。

函數重載和運算符重載是通過靜態連編實現在編譯時的多肽體現。

靜態連編的優點是調用速度快,效率高,缺點是不夠靈活。

動態連編

是函數運行過程中才確定調用的函數,這種在運行階段進行的連編就是動態連編。

虛函數是通過動態連編實現運行過程中的多態。

動態連編的優點是提供了更好的編程靈活性、問題抽象性和程序易維護性。缺點是調用速度慢。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FeelTouch Labs

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值