基於物件和物件導向的程式語言到底有什麼區別?

時間 2021-05-12 21:26:15

1樓:Butters

這個其實很容易區分。

基於物件(Object Based):使用了「物件「的概念,把狀態和行為封裝在乙個物件的內部。

物件導向(Object Oriented):使用了「物件」的概念,同時還有「繼承」和「多型」的概念。

所以,物件導向基本上是基於物件的乙個子集。同時由於物件導向很重視「繼承」和「多型」,所以也可以認為物件導向更多是「面向類」的。

2樓:邱昊宇

說沒有這種分法肯定是不對的,至少這種分法是曾經存在過的。

早年間 VB 的論壇,就經常有人揶揄 VB6 不是正經物件導向而是基於物件。強調物件導向一定要完整支援封裝、繼承、多型三大愛好,而 VB6 只提供了類來做封裝,沒有很好地支援繼承和多型。

其實就是個名分問題,愣把程式語言按照細微差別劃出56個民族也沒啥意義。

3樓:黃亮anthony

早期基於物件是不能定義類,但可以基於內建物件進行物件導向開發,比較有名的就是js,其實還有一些其它語言。

這類語言一般有乙個內建的object型別,例項化後可以動態新增成員,開發起來需要的概念較少。比如,不能區分乙個物件和另乙個物件是否相同型別,也沒有instanceof這類操作。

像js加上建構函式後已經很難再說他是乙個基於物件的開發語言了。

4樓:梨子檸檬蘇打

就是是單身還是不是單身的區別:)

基於物件就是有物件了。

物件導向就是還是單身狗,面對著想要的物件。

物件是double elephants 咩 :)

C語言能否通過結構體實現物件導向程式設計?

藍彼得 能!而且在有些嵌入式系統裡就是這麼做的,因為效能和資源。實際上物件導向語言最終也是通過過程式語言來實現的。用C語言實現物件導向,首先要手動的構建一些基礎設施,比如你要有乙個基類,用巨集 結構和函式指標來封裝基本的物件導向功能。繼承乙個類要遵循你自己定義的程式設計規範,基本上就是繼承父類的結構...

Python究竟是不是物件導向的程式語言?

重寫 你怕是沒理解物件導向的涵義吧。其實這年頭,把程式語言分成 物件導向 和 面向過程 本身就是應該摒棄的概念之一。所謂的Object Oriented Programming,說的無非是一種設計思想 把乙個應用分成若干個 類 class 相似的類之間有繼承 多型關係,繼承類中可以過載方法。你可以理...

物件導向程式設計的本意是什麼?

藍彼得 物件導向是抽象問題 分解問題 組織程式的一種方式。面向過程把問題抽象分解為乙個乙個的函式或者過程,然後通過呼叫這些函式來改變程式的狀態。物件導向把問題抽象分解為乙個乙個物件,然後物件之間發生關係 方法呼叫 改變物件的狀態,從而改變整個程式的狀態。本質上沒啥大的區別,物件導向又封裝了乙個層次而...