班(class)和介面(interface)的區別

面向物件程式設計(OOP)是軟體開發中的一種常見正規化。它有助於使用類和物件為程式設計帶來真實的場景。類是建立物件的藍圖。程式設計師可以用屬性和方法建立一個類。學生和老師是客體。建立物件稱為例項化。OOP也使用介面。介面和類看似相似,但它們有區別。本文討論類和介面之間的區別。類和介面之間的關鍵區別在於類是引用型別,它是例項化物件的藍圖,而介面是不能用於例項化物件的引用型別。...

班(class)和接口(interface)的區別

面向對象編程(OOP)是軟件開發中的一種常見範式。它有助於使用類和對象為編程帶來真實的場景。類是創建對象的藍圖。程序員可以用屬性和方法創建一個類。學生和老師是客體。創建對象稱為實例化。OOP也使用接口。接口和類看似相似,但它們有區別。本文討論類和接口之間的區別。類和接口之間的關鍵區別在於類是引用類型,它是實例化對象的藍圖,而接口是不能用於實例化對象的引用類型。

目錄

1. 概述和主要區別
2. 什麼是階級
3. 什麼是接口
4. 類與接口的相似性
5. 並排比較-以表格形式顯示類與接口
6. 摘要

什麼是班(class)?

在OOP中,一切都被視為一個對象。沒有類是不可能創建對象的。類是創建對象的藍圖。建造房屋時,建築師要繪製平面圖。這個計劃和上課很相似。這房子和這個物體很相似。類是構建對象的計劃。對象是使用類創建的對象。

類包含屬性和方法。學生可以擁有諸如姓名、年級、索引號等屬性。學生可以有讀書、散步、學習等方法。必須使用屬性和方法創建類。

用許多編程語言創建類的語法如下。它是使用關鍵字類創建的。

類名{

//屬性

//方法

}

C和Java等編程語言遵循類似的語法來使用類創建對象。假設類名是Student。

學生s1=新生();

這個s1就是對象。“new”關鍵字用於為屬性分配內存。類還有一個構造函數來初始化屬性或變量。

類成員(如屬性和方法)具有訪問修飾符。訪問說明符描述這些成員對其他類的可訪問性和可見性。類的成員可以具有訪問說明符,如public、private和protected。其他類可以訪問公共成員。私有成員只有類可以訪問。在類和相關子類中可以訪問受保護的成員。

什麼是接口(interface)?

抽象是面向對象編程的支柱。它將隱藏實現細節並向用戶顯示功能。抽象是通過使用抽象類和接口來實現的。抽象方法沒有實現。至少包含一個抽象方法的類稱為抽象類。

當有兩個抽象類時,應該實現在這些類中聲明的方法。一個新的類用於實現這些方法。如果兩個類都有相同的方法,可能會導致歧義問題。因此,Java和C等編程語言都有一個接口。

接口只包含方法的聲明。沒有實現的方法。此外,接口不能用於創建對象。它們用於支持多個繼承並保護代碼。

接口語法如下。Interface使用關鍵字“Interface”。

接口接口名稱{

類型method1(參數_列表);

類型method2(參數_列表);

}

根據上面的說明,接口只有聲明。沒有定義。因此,接口不能實例化對象。它只給出了接口是什麼的抽象視圖。接口中聲明的方法可以由一個或多個類實現。類使用關鍵字“implement”來實現接口。請參閱下面使用Java編寫的示例。

班(class)和接口(interface)的區別

圖01:使用接口的程序

根據上述程序,A和B是接口。接口A有一個方法聲明,即sum()。接口B具有方法聲明sub()。類C實現了A和B兩個接口。因此,C類同時定義了sum()和sub()方法。創建C類型的對象後,可以同時調用sum()和sub()方法。

接口內聲明的方法必須始終是公共的,因為實現類定義了它們。一個接口也可以從另一個接口繼承。

班(class)和接口(interface)的共同點

  • 兩者都是引用類型。
  • 兩者都與面向對象編程有關。

班(class)和接口(interface)的區別

類與接口
類是一種引用類型,它是創建對象的藍圖。 接口是無法實例化的引用類型。
對象實例化
類用於實例化對象。 無法實例化接口,因為方法無法執行任何操作。
建造師
類包含一個構造函數,用於初始化變量。 接口不包含構造函數,因為它們幾乎不是任何要初始化的變量。
關鍵字
類使用關鍵字“class”。 接口使用關鍵字“interface”。
訪問說明符
類的成員可以是私有的、公共的和受保護的。 接口的成員應該始終是公共的,因為實現類定義了它們。

總結 - 班(class) vs. 接口(interface)

類和接口在面向對象編程中被廣泛使用。類和接口的區別在於類是引用類型,它是實例化對象的藍圖,而接口是不能用來實例化對象的引用類型。一個類可以實現許多接口。但它只能擴展一個超類。In接口可以繼承許多接口,但不能有實現。兩者都有其重要性。程序員可以根據開發軟件來使用它們。

下載pdf類vs接口

你可以下載這篇文章的PDF版本,並按照引文說明離線使用。請在這裡下載PDF版本的類和接口的區別

引用
  • 發表於 2020-10-24 04:25
  • 閱讀 ( 54 )
  • 分類:科技

你可能感興趣的文章

包裹(package)和java介面(interface in java)的區別

Java中的Package和Interface的主要區別在於,Package有助於對類進行有條理的分類以方便訪問和維護,而Interface則有助於實現多個繼承和實現抽象。 Java是最流行的程式語言之一。Java的主要優點是它支援面向物件程式設計。這種方...

  • 發佈於 2020-10-18 11:01
  • 閲讀 ( 50 )

班(class)和例項變數(instance variables)的區別

...但在任何方法之外。 班(class)和例項變數(instance variables)的區別 類變數與例項變數 類變數是指只有一個變數副本與類的所有例項共享的變數。 當類的每個例項都有自己的變數副本時,例項變數就是變數。 聯想 類...

  • 發佈於 2020-10-19 16:54
  • 閲讀 ( 42 )

班(class)和結構(c)#(structure in c#)的區別

... 兩者都有屬性和方法。 類和結構都可以實現一個或多個介面。 班(class)和c中的結構#(structure in c#)的區別 C語言中的類與結構# 類是用於建立物件的藍圖。 結構是一種值型別的資料型別,可以儲存各種資料型別的相...

  • 發佈於 2020-10-19 17:15
  • 閲讀 ( 51 )

商務艙(business class)和頭等艙(first class)的區別

商務艙vs頭等艙 商務艙和頭等艙之間的區別是一個非常有趣的領域,你要知道什麼時候你想坐舒適的飛機。商務艙和頭等艙是為那些不介意花額外的錢來舒適旅行的人準備的。雖然商務艙提供了舒適性,頭等艙提供了更多的...

  • 發佈於 2020-10-19 18:01
  • 閲讀 ( 49 )

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

繼承(inheritance)和java介面(interface in java)的區別 Java是Sun Microsystems公司開發的一種程式語言。Java可以用來開發各種應用程式。它是一種支援面向物件、結構化等多種正規化的語言,Java的主要優點是支援面向物件程式設計(OOP)...

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

商務艙(business class)和經濟艙(economy class)的區別

...個乘客放鬆身體和活動雙腿的空間。然而,這並不是唯一的區別。商務艙和經濟艙之間還有其他重要的區別,本文將對此進行探討。 什麼是經濟艙(economy class)? 座椅間距是指從座椅固定點到固定點每排之間的空間。經濟艙座位...

  • 發佈於 2020-11-06 16:35
  • 閲讀 ( 58 )

關於javarmi註冊中心以及如何使用它的所有內容

... import java.rmi.Remote;import java.rmi.RemoteException;public interface Greeting extends Remote{ public String greet(String name) throws RemoteException;} ...

  • 發佈於 2021-03-12 15:58
  • 閲讀 ( 61 )

入門時應學習的10個核心java概念

... public interface List { public void add(Object obj); public Object get(int index); public void remove(int index);} ...

  • 發佈於 2021-03-13 05:33
  • 閲讀 ( 45 )

如何在windows上拔下耳機時自動靜音

...tem.Runtime.InteropServices;[Guid("5CDF2C82-841E-4546-9722-0CF74078229A"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]interface IAudioEndpointVolume {// f(), g(), ... are unused COM method slots. Define these if you careint f(); int g(); int h(); int i();int SetMasterVolumeLevelScalar(float...

  • 發佈於 2021-03-24 05:01
  • 閲讀 ( 49 )

如何從命令提示符更改計算機的ip地址

...更改的介面的網路全名。為此,請鍵入以下命令: netsh interface ipv4 show config 相關:如何在Windows命令提示下啟用CTRL+C/CTRL+V進行貼上 向下滾動,直到看到要查詢的介面。在我們的示例中,我們將修改Wi-Fi介面,它在我們的計算機...

  • 發佈於 2021-04-08 22:49
  • 閲讀 ( 42 )
Iovedove
Iovedove

0 篇文章

作家榜

  1. admin 0 文章
  2. 孫小欽 0 文章
  3. JVhby0 0 文章
  4. fvpvzrr 0 文章
  5. 0sus8kksc 0 文章
  6. zsfn1903 0 文章
  7. w91395898 0 文章
  8. SuperQueen123 0 文章

相關推薦