C++、java、C#、Python、Php等語言均支持OOP,但是有很多規(guī)則,他們卻不盡相同,本文重點總結(jié)一下幾種語言在OOP中的共性與特性,只要把這些點區(qū)分開,其實幾種語言的代碼你就都可以運用自如。
成都創(chuàng)新互聯(lián)"三網(wǎng)合一"的企業(yè)建站思路。企業(yè)可建設(shè)擁有電腦版、微信版、手機版的企業(yè)網(wǎng)站。實現(xiàn)跨屏營銷,產(chǎn)品發(fā)布一步更新,電腦網(wǎng)絡(luò)+移動網(wǎng)絡(luò)一網(wǎng)打盡,滿足企業(yè)的營銷需求!成都創(chuàng)新互聯(lián)具備承接各種類型的網(wǎng)站設(shè)計制作、成都網(wǎng)站建設(shè)項目的能力。經(jīng)過十年的努力的開拓,為不同行業(yè)的企事業(yè)單位提供了優(yōu)質(zhì)的服務(wù),并獲得了客戶的一致好評。
詳見下表:
C++ | Java | C# | Python | PHP | Lua |
強類型(靜態(tài)類型) | 強類型(靜態(tài)類型) | 強類型(靜態(tài)類型) | 弱類型(動態(tài)類型) | 弱類型(動態(tài)類型) | 弱類型(動態(tài)類型) |
1.支持多繼承 | 1.不支持多繼承 | 1.不支持多繼承 | 1.支持多繼承 2.只有一種繼承方式(無關(guān)鍵字:class C(B,A)) | 1.支持多繼承 2.只支持一種繼承方式(關(guān)鍵字extends) | 不支持繼承,但可用metatable實現(xiàn) |
1.無接口概念 | 1.有接口概念 2.支持接口多繼承 | 1.有接口概念 2.支持接口多繼承 | 1.無接口概念 | 1.有接口概念 2.支持接口多繼承 | 1.無接口概念 |
支持函數(shù)重載 | 支持函數(shù)重載 | 支持函數(shù)重載 | 1.不支持函數(shù)重載 2.可通過默認參數(shù)實現(xiàn)重載 | 1.不支持函數(shù)重載 2.可通過默認參數(shù)實現(xiàn)重載 | 1.不支持函數(shù)重載 2.可通過默認參數(shù)實現(xiàn)重載 |
支持子類覆蓋父類方法 | 支持子類覆蓋父類方法 | 支持子類覆蓋父類方法 | 支持子類覆蓋父類方法 | 支持子類覆蓋父類方法 | 支持子類覆蓋父類方法 |
不可封裝屬性 | 不可封裝屬性 | 可以封裝屬性 | 可以封裝屬性 | 不可封裝屬性 | 不可封裝屬性 |
隱藏成員變量使用:private/protected | 隱藏成員變量使用:private/protected | 隱藏成員變量使用:private/protected | 變量名稱前加雙下劃線 | 隱藏成員變量使用:private/protected | 變量用local修飾 |
this->訪問成員 | this.訪問成員 | this.訪問成員 | self.訪問成員 | $this->訪問成員 | self.訪問成員 |
構(gòu)造函數(shù)為類名 | 構(gòu)造函數(shù)為類名 | 構(gòu)造函數(shù)為類名 | __init__ | __construct | 無此概念 |
析構(gòu)函數(shù)為~類名 | 無需自己析構(gòu) | 無需自己析構(gòu) | __del__ | __destruct | 無此概念 |