類別是一種型別,它是具有相同屬性和方法的一組集合,一個類別可以對應多個物件,物件通過它們公開的方法來定義它們與外界的互動行為,而方法就形成了與外界互動的介面
類別、物件和介面#
1. 類別和物件#
區別:
- 物件是類別的一個實例。就像一個人,他有具體的屬性,身高、體重、姓名等狀態,跑步、跳舞等行為
- 類別是抽象的概念,代表一類事物的模板。對一類物件的行為和狀態進行描述,抽離出其共性,形成類別
關係:
- 類別就是對事物的一種描述,物件是具體存在的一個實例
類別是一種型別,它是具有相同屬性和方法的一組集合,一個類別可以對應多個物件
2. 什麼是介面?#
物件通過它們公開的方法來定義它們與外界的互動行為,而方法就形成了與外界互動的介面
更深層次的含義是:使定義和實現分離開,它是互動的具體實現的抽象化
介面
是面向對象編程的基礎,它是一組包含了函數方法的數據結構,它是一個比類別更抽象化的東西
可以這麼說,類別是物件的抽象化,介面是類別的抽象化
比如生活中的介面,機頂盒,人們利用它來實現收看不同頻道和信號的節目,它猶如對不同類型的信息進行集合和封裝的設備,最後把各種不同類型的信息轉換為電視能夠識別的信息。
在編程語言中的介面,實際上是不同類的封裝並提供統一的外部聯繫通道,這樣其他物件就可以利用介面來調用不同類的成員了
介面和類別,實際上都是相同的數據結構
在介面中,可以聲明屬性、方法、事件、類型,但是不能聲明變量,也就是說,介面只能定義成員,不能給成員賦值
使用介面的好處是提高代碼靈活性,降低物件之間的耦合度,在實際項目中非常有用