哦(oop)和流行音樂(pop)的區別
在討論OOP和POP之間的區別之前,讓我們先看一下編程過程的一些基本概念。在使用編程為各種類型的問題構建解決方案時,有許多不同的編程過程方法。這些方法被稱為編程範例。大多數編程語言都屬於一種範式,但也可能存在具有多種範式元素的語言。面向對象編程(OOP)和麵向過程編程(POP)就是兩種這樣的編程範式。這兩種範式的不同主要是由於它們在設計解決方案時創建的抽象。編程方法中的抽象將信息的相關性與用戶的相關性分離開來透視圖POP和OPP的主要區別在於POP創建和使用過程抽象,而OOP則側重於數據抽象。
什麼是哦(oop)?
面向對象編程(OOP)基於兩個主要概念:對象和類。對象是包含數據和操作該數據的過程的結構。這些對象可以用於建模真實世界實體。對象有兩個特徵:狀態和行為。類定義給定類型或對象類的數據格式和過程。換句話說,類是對象的藍圖。
OOP方法主要關注數據,而不是處理數據的算法。由於數據和處理這些數據的函數都綁定在對象中,因此外部函數不能對數據進行任何修改。也就是說,一個對象的數據不能被任何其他對象的函數訪問。這保證了程序數據的安全性。但是,一個對象的函數可以訪問另一個對象的函數,從而允許對象彼此通信。通過另一個對象的方法調用一個對象的方法稱為消息傳遞。
OOP編程有四個主要特性:抽象、封裝、多態和繼承。抽象的目的是隻向用戶顯示相關信息,從而降低問題的複雜性。封裝是在對象中對信息進行本地化。一個類獲取另一個類的屬性和功能的過程稱為繼承。多態性是一個函數有許多特徵,或者一個對象以許多不同的方式表現。
OOP還支持高模塊性。添加新函數或數據不需要更改整個程序。因為對象獨立於聲明和定義,所以只需創建一個新對象就可以完成。因此,OOP可以是高效和高生產率的。
考慮到程序設計,OOP遵循自底向上的方法。一些流行的OOP語言是Java、Python、Perl,VB.NET版和C++。
什麼是流行音樂(pop)?
面向過程編程(Procedure-orientedprogramming,POP)將問題視為一系列要做的事情,並基於過程調用的概念。程序被分成更小的部分,稱為過程,也稱為例程、子例程、方法或函數。程序強調程序中需要做什麼的算法。也就是說,一個過程包含一系列要執行的計算步驟。因為這些函數是面向操作的,所以在建模現實問題時,使用POP語言有時可能會很困難。
POP更專注於編寫一個指令列表,告訴計算機一步一步地做什麼。對與程序相關的數據關注較少。數據可以在過程之間傳遞,每個過程將數據從一種形式轉換為另一種形式。大多數數據是全局的,可以從系統中的任何功能自由訪問。而且由於POP不支持隱藏數據的有效技術,所以程序可能不安全。有些函數可能有自己的本地數據。
在POP中,有時可能很難確定哪些函數使用了哪些數據,因為全局數據在很大程度上是在函數之間共享的。如果需要更改現有數據,則必須將訪問該數據的所有函數修改為好吧。這個可能會影響整個程序,錯誤和錯誤可能會浮出水面。
考慮到程序設計,POP語言採用自頂向下的方法。因為POP語言顯式地引用執行環境的狀態,所以它們也被稱為命令式語言。這類流行語言的例子有COBOL、Pascal、FORTRAN和C語言。
哦(oop)和流行音樂(pop)的區別
oop和pop的定義
OOP:面向對象編程是一種側重於數據抽象的編程範式。
POP:Procedure-Oriented Programming是一種專注於過程抽象的編程範式。
oop和pop的特點
問題分解
OOP:在OOP方法中,程序被分成稱為對象的部分。
POP:在POP方法中,程序被劃分為函數。
集中
OOP:OOP的主要焦點是與程序相關聯的數據。
POP:POP的主要焦點是操作數據的過程和算法。
設計方法
OOP:OOP遵循自底向上的方法。
POP:POP遵循自上而下的方法。
數據的使用
OOP:在OOP中,每個對象都控制其中的數據。
POP:在POP中,大多數函數使用全局數據。
數據訪問
OOP:在OOP中,只有特定對象的函數才能訪問對象的數據。
POP:在POP中,數據可以在函數之間自由移動。
訪問權限修飾詞
OOP:OOP有訪問說明符,比如Public、Private等。
POP:POP沒有任何訪問說明符。
數據安全
OOP:由於OOP提供了數據隱藏,所以與程序相關聯的數據是安全的。
POP:POP不提供任何數據隱藏方法。因此,數據的安全性較低。
易於修改
OOP:OOP提供了在不修改現有程序的情況下添加新數據和函數的簡單有效的方法。
POP:在POP中,如果需要添加新的數據或函數,則必須修改現有程序。
使用的語言
OOP:C++,java,VB.NET版,C#.NET等被OOP使用。
Image Courtesy: “Python logo and wordmark” by www.python.org – https://www.python.org/community/logos/.(GPL) via Comm*** “The C Programming Language logo” by Rezonansowy – This file was derived from: The C Programming Language, First Edition Cover.svg. (Public Domain) via Comm***