封裝繼承多態(tài)
定義個(gè)“車輛”類,包含基本屬性(如顏色、速度)和方法(如啟動(dòng)、停止)?!白詣?dòng)駕駛汽車”繼承這個(gè)“車輛”類,添加特定于自動(dòng)駕駛的功能,如感知環(huán)境、路徑規(guī)劃等。這就是繼承的優(yōu)點(diǎn)——重用已有的代碼,允許擴(kuò)展新的功能。
至于封裝使用它來(lái)隱藏實(shí)現(xiàn)細(xì)節(jié),只暴露必要的接口。用戶不知道自動(dòng)駕駛汽車如何進(jìn)行路徑規(guī)劃,他們只調(diào)用車輛的“移動(dòng)到目的地”的方法即可。
多態(tài)則是指同操作作用于不同的對(duì)象,有不同的解釋,產(chǎn)生不同的執(zhí)行結(jié)果。在我司的測(cè)試場(chǎng)景中,所有車輛都響“加速”、“減速”這樣的命令,但具體的行為可能因車輛類型的不同而不同。這是多態(tài)的力量所在。
在討論其他領(lǐng)域的用時(shí),要注意這些原則。
在建筑行業(yè)中通過(guò)封裝將建筑物的設(shè)計(jì)和施工分開,讓設(shè)計(jì)師專注于設(shè)計(jì),而不用關(guān)心具體的施工過(guò)程;通過(guò)繼承定義些基礎(chǔ)的建筑材料和結(jié)構(gòu),根據(jù)創(chuàng)建各種各樣的建筑。
在娛樂(lè)行業(yè)為游戲中的角色定義套通用的行為(如移動(dòng)、攻擊),通過(guò)繼承為每個(gè)角色添加獨(dú)特的技能和特性。
在環(huán)保領(lǐng)域利用面向?qū)ο蟮脑瓌t來(lái)構(gòu)建模型定義個(gè)“污染源”類,根據(jù)不同類型的污染源(如工廠、汽車尾氣等)創(chuàng)建不同的子類。這樣幫助我司更好地理解和管理環(huán)境污染問(wèn)題。