2016-09-20 60 views
0

我想了解java中的數據抽象和程序抽象之間的區別。java中的數據抽象和程序抽象之間的區別

我明白過程抽象是利用接受形式參數並隱藏用戶實現的方法。這在PL/SQL語言中完全有意義,因爲我可以選擇在PL/SQL中分別創建過程。

但是我在數據抽象和程序抽象之間感到困惑,因爲即使是java中的過程也是作爲某些類的一部分實現的。每個類也可以有一些靜態方法(公共靜態),包中的每一個類都可以使用。

請能有人給明確區分這兩個(在Java方面)

回答

1

在程序抽象中,方法用於捕獲程序模式,對行爲進行抽象。 例如,在Java中,你可以寫這樣的:

public void printFibonacci(int n){ 
//your code to print Fibonacci numbers 
} 

通過這種方式,用戶可以方便的使用過程,甚至無需知道這是怎麼回事裏面的功能。你知道它會打印給定輸入的斐波那契。

另一方面,在數據抽象中,類用於抽象相關的有狀態值及其相關行爲 - 也稱爲抽象數據類型(ADT)。
例如,在Java中,它包括:

  1. 接口類
  2. 的允許行爲
-1

在面向對象編程,抽象是主要pillars.In的Java之一,當涉及到數據抽象,它意味着當設計/定義類本身,您只需確定那些與Domain.eg相關的Class的屬性如果Person是一個實體,它可以具有諸如姓,名,薪水,配偶,年齡,身高,體重,血型等許多屬性。但是如果您正在開發醫療保健領域的應用程序,那麼您只想選擇那些屬性與醫療保健相關,如身高,血型和忽略其餘部分。但另一方面,如果您正在開發社交調查應用程序,則不需要這些屬性。通過這種方式,識別所需屬性並忽略其餘部分是數據抽象。 對於程序抽象,必要的部分是「程序做了什麼,並且忽略了它如何做」。大多數語言默認支持它。在Java中,一個類可以在不知道實現細節的情況下調用其他類的方法。這是程序抽象的一個例子。

相關問題