在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ C++/ D語言封裝
類的訪問修飾符
D語言運算符
D語言邏輯運算符
類指針
D語言元組
D語言指針
D語言模塊
D語言sizeof運算符
D語言混合類型
D語言封裝
D語言條件編譯
類的靜態(tài)成員
D語言do...while循環(huán)
D語言結(jié)構(gòu)體
重載
D語言字符串-String
D語言決策語句
D語言接口
D語言for循環(huán)
D語言switch語句
D語言關(guān)聯(lián)數(shù)組
D語言范圍
D語言枚舉Enums
契約式編程
D語言并發(fā)
D語言開發(fā)環(huán)境設(shè)置
D語言別名
D語言常值
D語言常量
D語言函數(shù)
D語言if嵌套語句
D語言循環(huán)
D語言概述,D語言是什么?
D語言運算符優(yōu)先級
D語言continue語句
D語言異常處理
D語言break語句
D語言if...else語句
D語言類和對象
類繼承
D語言字符
D語言教程
D語言關(guān)系運算符
比較操作符重載
構(gòu)造函數(shù)和析構(gòu)函數(shù)
D語言抽象類
D語言if語句
D語言賦值運算符
D中算術(shù)運算符
D語言類成員函數(shù)
D語言位運算符
D語言變量
D語言數(shù)據(jù)類型
D語言文件I/O
D語言數(shù)組
一元運算符重載
D語言嵌套switch語句
D語言基本語法
二元運算符重載
this指針
D語言聯(lián)合體
D語言模板
D語言嵌套循環(huán)
D語言while循環(huán)

D語言封裝

所有的D程序有以下兩個基本要素:

  • 程序語句(代碼): 這是一個程序,它執(zhí)行動作被稱為函數(shù)的一部分。

  • 程序數(shù)據(jù):該數(shù)據(jù)是受程式功能的程序的信息。

封裝是操作數(shù)據(jù)的數(shù)據(jù)和功能結(jié)合在一起的面向?qū)ο缶幊痰母拍?,并保持既安全不受外界干擾和誤用。數(shù)據(jù)封裝導(dǎo)致數(shù)據(jù)隱藏重要的OOP概念。

數(shù)據(jù)封裝是捆綁的數(shù)據(jù)的機制,以及使用它們和數(shù)據(jù)抽象的功能是僅暴露的接口和隱藏來自用戶的執(zhí)行細(xì)節(jié)的機制。

D支持封裝和數(shù)據(jù)通過創(chuàng)建用戶定義的類型,稱為類隱藏的屬性。我們已經(jīng)研究了一類可以包含私有的,受保護(hù)的和公共的成員。默認(rèn)情況下,在一個類中定義的所有項目都是私有的。例如:

class Box
{
   public:
      double getVolume()
      {
         return length * breadth * height;
      }
   private:
      double length;      // Length of a box
      double breadth;     // Breadth of a box
      double height;      // Height of a box
};

變量長度,寬度和高度都是私有的。這意味著,他們只能通過Box類的其他成員進(jìn)行訪問,而不是由你的程序的任何其他部分。這是封裝的實現(xiàn)方式之一。

為了使一個類公開(即,訪問程序的其他部分)的部分,則必須在public關(guān)鍵字后聲明。所有定義的變量或函數(shù)是由程序中的所有其他函數(shù)訪問。

使一個類的另一個好友暴露的實施細(xì)則,并降低了封裝。理想的是保持盡可能多的各類別隱藏所有其他類盡可能的詳細(xì)信息。

數(shù)據(jù)封裝示例:

實現(xiàn)一個類的公共和私有成員的任何D程序是數(shù)據(jù)封裝和數(shù)據(jù)抽象的例子。請看下面的例子:

import std.stdio;

class Adder{
   public:
      // constructor
      this(int i = 0)
      {
        total = i;
      }
      // interface to outside world
      void addNum(int number)
      {
          total += number;
      }
      // interface to outside world
      int getTotal()
      {
          return total;
      };
   private:
      // hidden data from outside world
      int total;
}
void main( )
{
   Adder a = new Adder();

   a.addNum(10);
   a.addNum(20);
   a.addNum(30);

   writeln("Total ",a.getTotal());
}

當(dāng)上面的代碼被編譯并執(zhí)行,它會產(chǎn)生以下結(jié)果:

Total 60

上面的類添加數(shù)相加,并返回總和。公共成員addNum和getTotal是外面的世界的接口,一個用戶需要知道他們使用的類。私有成員total 是從外界隱藏的,但需要為類正常運作。

設(shè)計策略:

我們大多數(shù)人都通過痛苦經(jīng)歷教訓(xùn),默認(rèn)情況下類成員是私有的,除非我們真的要揭露他們。這只是良好的封裝。

這種智慧是最常應(yīng)用于數(shù)據(jù)成員,但它同樣適用于所有成員,包括虛函數(shù)。


上一篇:重載下一篇:D語言常值