物件導向程式設計與面向過程程式設計的基本區別

2021-10-06 16:28:12 字數 1101 閱讀 4972

物件導向程式設計(object oriented programming,物件導向程式設計)的主要思想是把構成問題的各個事務分解成各個物件,建立物件的目的不是為了完成乙個步驟,而是為了描敘乙個事物在整個解決問題的步驟中的行為。物件導向程式設計中的概念主要包括:物件、類、資料抽象、繼承、動態繫結、資料封裝、多型性、訊息傳遞。通過這些概念物件導向的思想得到了具體的體現,物件導向是一種解決問題的思想,物件導向的計算機語言通過對目標物件的屬性、行為封裝最終拿到目標物件。

面向過程程式設計:面向過程(procedure oriented)是一種以過程為中心的程式設計思想。這些都是以什麼正在發生為主要目標進行程式設計,不同於物件導向的是誰在受影響。與物件導向明顯的不同就是封裝、繼承、類。面向過程是把構成問題事務分解成各個物件,建立物件的目的不是為了完成乙個步驟,而是為了描敘某個事物在整個解決問題的步驟中的行為,注重的是過程,分析函式並一步步實現然後再呼叫。

優點:1.易維護

2.易復用

3.易擴充套件

4.由於物件導向有封裝、繼承、多型性的特性,可以設計出低耦合的系統,使系統更加靈活、更加易於維護

5.在復用時直接呼叫封裝好的方法即可,而且安全性相對較高,可以避免不必要的更改引起的錯誤;

6.允許乙個物件的多個例項同時存在,而且彼此之間不會相互干擾;

7.安全性較高

缺點:其程式處理的效率比較低

優點:效能比物件導向高,因為類呼叫時需要例項化,比較消耗資源;比如linux/unix等一般採用面向過程開發,效能是最重要的因素;

缺點:1.復用性較低,因為面向過程時逐步進行功能的實現;

2.**維護更改性低,在面向過程程式設計中沒有物件導向的封裝方法,如果出問題得全域性進行逐步**分析;

舉例:五子棋遊戲 物件導向:在物件導向的程式設計中,只考慮:

1.雙方的行為 2.遊戲地圖的繪製 3.遊戲規則的制定,判斷輸贏;

面向過程:在面向過程的程式設計中,需要考慮:

1.遊戲開始 2.黑子先走 3.繪製畫面 4.判斷輸贏 5.白子移動 6.繪製畫面 7.判斷輸贏 8.重新返回步驟2繼續依次執行 9.遊戲結束

由此可知,面對過程注重的是過程的逐步實現,對函式進行一步一步的分析從而一步一步的解決問題;

物件導向注重的是各部分**要實現的功能,而不是步驟。

物件導向程式設計與面向過程程式設計

面向過程程式設計 面向過程程式設計是一種以過程為中心的程式設計思想,分析出解決問題的步驟,然後用函式把這些步驟一步一步實現。面向過程程式設計,資料和對資料的操作是分離的。物件導向程式設計 物件導向程式設計是將事物物件化,通過物件通訊來解決問題。物件導向程式設計,資料和對資料的操作是繫結在一起的。物件...

面向過程程式設計與物件導向程式設計

舉個例子,比如開車 加速 減速 剎車。用面向過程來說就是你要先有乙個車,然後這四個分別是4件事,也就是說你要寫4個函式,分別是開車 加速 減速 剎車,這分別是四個事件,如果使用的話要呼叫4個函式。但是對於物件導向的程式設計來說,我們關心的是車這個類,而不是開車 加速 減速和剎車這四個過程。這4個過程...

面向過程程式設計與物件導向程式設計

面向過程 核心是過程二字,過程指的是解決問題的步驟,設計一條流水線,機械式的思維方式。優點 複雜的問題流程化,進而簡單化。程式設計難度低。缺點 可擴充套件性差 應用場景 功能一旦實現,擴充套件性很少的場景,比如系統監控 自動部署。import json import redef interactiv...