抽象(abstraction)和封裝(encapsulation)的區別

計算機程式設計是一個廣闊的領域,在這一技術軟體中有許多術語雖然來自通用語言,但含義不同。有兩個相似的名字叫做封裝和抽象。在廣義的表達中,抽象是從一組其他專案中移除一個專案的過程,例如,我們從海水中除去鹽。另一方面,封裝是在一個安全的地方把東西放在一起的過程。在這種情況下,最好的例子是膠囊,膠囊中含有某種形式的藥物。因此,在面向物件程式設計的情況下,抽象就是使用者能夠提取被認為重要的資訊的過程,而在這樣做...

主要區別

計算機程式設計是一個廣闊的領域,在這一技術軟體中有許多術語雖然來自通用語言,但含義不同。有兩個相似的名字叫做封裝和抽象。在廣義的表達中,抽象是從一組其他專案中移除一個專案的過程,例如,我們從海水中除去鹽。另一方面,封裝是在一個安全的地方把東西放在一起的過程。在這種情況下,最好的例子是膠囊,膠囊中含有某種形式的藥物。因此,在面向物件程式設計的情況下,抽象就是使用者能夠提取被認為重要的資訊的過程,而在這樣做的同時,忽略對當前過程不重要的資訊。它可以被稱為一個固定的過程,以獲得所需的東西。封裝是一種設定資料的過程,使必要的材料應該已經可見,而不需要的材料不應該是可見的,以避免任何不必要的問題。這兩個術語是相反的,抽象處理的是過程的整體性質,而封裝處理的是產生原始特徵的過程。在保持對這些抽象的理解和隱藏的過程中,重點放在對這些術語的理解和隱藏上。當涉及到解決這兩個問題時,有不同的標準。抽象處理在初始級別解決問題,而封裝處理實現級別的問題解決。對於更復雜的程式設計解釋,抽象是透過設計和抽象類來保證實現的安全性。而封裝是在setter和getter的幫助下保持資料的安全。關於這兩個術語可以給出更詳細的說明,下面幾段的解釋將有助於正確理解它們。

比較圖

目標抽象封裝
定義獲取資訊的過程。包含資訊的過程。
管理所需資訊的獲取方式可以是隻提取必要的部分它所提供的資訊是唯一必要的資訊,所有其他無關的資料都已被隱藏
解決方案在介面層解決了這個問題。當代碼實現時,問題就解決了。
例子**的外部按鈕可以看作是抽象的。所有程式都存在的晶片可以看作是封裝。

抽象的定義

對於面向物件程式設計,抽象是獲取資訊的過程。所需資訊的獲取方式可以是隻提取必要的部分,而忽略那些被認為不太重要的部分。或者將不必要的資訊排出,只保留敏感資料的完整性。在這種情況下,大多數類沒有任何型別的實現,大多數問題解決過程都是在介面階段完成的。抽象類已經存在,當我們必須共享公共函式時,可以使用它們,因此在抽象中,有可能建立新的變數。這個術語可以在日常使用中得到更好的解釋,最好的定義是隻處理思想而不處理事件的過程。不存在的東西,只是一個概念,叫做抽象。有不同型別的抽象模式,如資料、功能、合成、控制、資源和儲存抽象,並且有不同的建立方法。所有這些因素都有助於呈現必要的統計資訊,而不太重要的資訊可以單獨隱藏在主螢幕之外,這也可以稱為普通語言中的資料隱藏。

封裝的定義

封裝是包含資訊的過程。它所提供的資訊是唯一必要的資訊,所有其他無關的資料都已被隱藏起來。在這種情況下,問題的解決是在實施階段完成的。有時它被認為是抽象的一種延伸,是一種在一個地方收集材料的過程,這與資訊隱藏有很大的不同,它只顯示被認為必要的資訊。因此,它被用來對外行隱藏程式設計程式碼。為了更全面地理解這一概念,封裝就是把東西放在膠囊裡,只顯示產品的基本特性。例如,當一個人在使用軟體時,他們不知道編碼是什麼,他們只使用由編碼產生的必要功能,這些功能在檔案中是安全的。

一言以蔽之

  1. 抽象地說,問題是在介面級別解決的。在封裝中,當代碼實現時問題就解決了。
  2. 在抽象中,忽略敏感度較低的資料,只收集重要的資料,而在封裝時,所有的資訊都儲存在一個地方,只顯示較簡單的資料。
  3. 在抽象上,重點是想法,而不是過程的細節。在封裝中,對使用者隱藏程序如何發生的細節是隱藏的。
  4. 所有有助於執行抽象的變數都被封裝,但是所有導致封裝的物件不需要被抽象。
  5. **的外部按鍵可以看作是抽象的,而**內部結構中所有程式設計都存在的晶片可以看作是封裝。

對比影片

結論

抽象和封裝是兩個非常不同的術語,這也是本文所做的,以恰當的方式解釋了它們之間的主要區別,這樣人們就不會覺得很難正確理解它們的含義了,希望任務透過這個平臺得以實現。

  • 發表於 2020-05-25 03:39
  • 閱讀 ( 34 )
  • 分類:IT

你可能感興趣的文章

遊離神經末梢(free nerve endings)和封裝的(encapsulated)的區別

...嘴脣。此外,它們對輕觸有反應。 什麼是包裹神經末梢(encapsulated nerve endings)? 與遊離神經末梢不同,包裹的神經末梢不包含神經傳遞的開放端。因此,與遊離神經末梢相比,包裹神經末梢的敏感性較低。一些機械感受器有包...

  • 發佈於 2020-10-16 00:28
  • 閲讀 ( 46 )

封裝(encapsulation)和脫膠囊(decapsulation)的區別

.... 並列比較-以表格形式封裝與去封裝 6. 摘要 什麼是封裝(encapsulation)? 網路模型用於標準化網路通訊。當從一個位置向另一個位置傳送資料時,資料會經過許多層。TCP/IP模型有四層。它們是應用層、傳輸層、網際網路層和網路接...

  • 發佈於 2020-10-19 15:30
  • 閲讀 ( 75 )

摘要(abstract)和介紹(introduction)的區別

...解兩者的區別,以及摘要和導言的作用。 什麼是摘要(an abstract)? 首先讓我們從抽象開始。摘要,也稱為大綱,是期末論文的簡短形式。它包含了研究結果的關鍵。摘要也指提交會議或研討會的研究論文的簡短版本。任何一所大...

  • 發佈於 2020-10-22 19:14
  • 閲讀 ( 51 )

資料隱藏(data hiding)和封裝(encapsulation)的區別

資料隱藏(data hiding)和封裝(encapsulation)的區別 面向物件程式設計(OOP)是程式設計的一個主要正規化。它有助於使用物件開發程式或軟體。物件是使用藍圖建立的。它被稱為一個類。類由應該包含在物件中的屬性和行為組成。...

  • 發佈於 2020-10-24 02:51
  • 閲讀 ( 49 )

繼承(inheritance)和java介面(interface in java)的區別

...可以建立類和物件。OOP有四個支柱。它們是繼承、多型、抽象和封裝。繼承和介面與OOP有關。繼承和介面的關鍵區別在於繼承是從現有的類中派生新的類,而介面是實現抽象類和多重繼承。 目錄 1. 概述和主要區別 2.Java中的繼承...

  • 發佈於 2020-10-25 00:02
  • 閲讀 ( 64 )

哦(oop)和流行音樂(pop)的區別

...種正規化的不同主要是由於它們在設計解決方案時建立的抽象。程式設計方法中的抽象將資訊的相關性與使用者的相關性分離開來透檢視POP和OPP的主要區別在於POP建立和使用過程抽象,而OOP則側重於資料抽象。 什麼是哦(oop)? ...

  • 發佈於 2020-10-28 20:06
  • 閲讀 ( 49 )

摘要(abstract)和具體思路(concrete thinking)的區別

...這兩個術語,並找出它們之間的差異。 什麼是抽象思維(abstract thinking)? 首先,抽象思維可以解釋為一種思維方式,這種思維方式集中於對某一事物的概念化或概括化。一個抽象的思考者可以從別人看不到的角度來看待一個特定...

  • 發佈於 2020-11-04 10:41
  • 閲讀 ( 48 )

面向物件程式設計中抽象的初學者指南

... 什麼是抽象什麼(abstract and what)? ...

  • 發佈於 2021-03-30 04:01
  • 閲讀 ( 80 )

抽象類(abstract class)和c中的介面#(interface in c#)的區別

...讓我們詳細討論一下兩者的理論方面。 什麼是抽象類(an abstract class)? 抽象類是一種特殊型別的類,它充當其他類的基,不能例項化。抽象類的實現邏輯由其派生類提供。為了使一個類抽象,使用了“abstract”修飾符,這意味著...

  • 發佈於 2021-06-25 03:34
  • 閲讀 ( 54 )

抽象類(abstract class)和java介面(interface in java)的區別

...們詳細研究一下兩者的區別。 什麼是java中的抽象類(an abstract class in java)? Java中的抽象類是一個宣告為抽象的類——它可能包含也可能不包含抽象方法。它與Java介面非常相似,只是它可以包含預設的方法實現。與面向物件程式...

  • 發佈於 2021-06-25 03:52
  • 閲讀 ( 43 )