類與結構
面向對象編程語言的一些主要概念是封裝、繼承和多態性。類和結構是OO構造/工具中的兩種,它們幫助程序員在大多數現有的OO編程語言中實現這些概念(Java不提供結構)。類是現實世界對象的抽象表示。結構與具有相似用途的類非常相似,但與類相比幾乎沒有限制。類和結構都用於將相似類型的數據組合在一起。
什麼是班級?
類描述真實世界對象的抽象表示,而關係描述每個類如何與其他類連接。類和關係都有稱為屬性的屬性。類中的方法表示或定義這些類的行為。類的方法和屬性稱為類的成員。通常,封裝是通過使屬性私有化來實現的,同時創建可用於訪問這些屬性的公共方法。對象是類的實例。繼承允許用戶從其他類(稱為超級類)擴展類(稱為子類)。多態性允許程序員用一個類的對象代替它的超類的對象。通常,在問題定義中找到的名詞直接成為程序中的類。同樣,動詞變成了方法。Public、private和protected是類的典型訪問修飾符。類圖顯示系統的類、類之間的關係及其屬性。
什麼是結構?
如前所述,結構與具有類似用途的類非常相似,但與類相比,它們的功能稍有侷限。實際上,類可以看作是結構的擴展。例如,結構與C++類相同,但默認情況下它們具有公共成員。用戶可以定義一個結構來表示複合類型。與類類似,結構包含可以屬於多種類型的成員。關鍵字結構用於定義C和C++中的結構,而關鍵字結構用於.NET編程語言中的相同結構。
類和結構之間的區別是什麼?