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

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

類的訪問(wèn)修飾符

數(shù)據(jù)隱藏是面向?qū)ο缶幊?,允許防止程序的功能直接訪問(wèn)類類型的內(nèi)部表現(xiàn)的重要特征之一。將訪問(wèn)限制的類成員是由類體內(nèi)標(biāo)記public, private, protected。關(guān)鍵字public, private, protected被稱為訪問(wèn)訪問(wèn)修飾符。

一個(gè)類可以有多個(gè)public, protected, private標(biāo)記的部分。每個(gè)部分仍然有效,直至另一部分標(biāo)簽或類主體的結(jié)束右大括號(hào)。成員和類的缺省訪問(wèn)是私有的。

class Base {
 
   public:
 
  // public members go here
 
   protected:
 
  // protected members go here
 
   private:
 
  // private members go here
 
};

公共成員:

公共成員是從類以外的任何地方,但在程序中訪問(wèn)。可以設(shè)置和獲取公共變量的值,下面的示例中所示的任何成員函數(shù):

import std.stdio;

class Line
{
   public:
     double length;
     double getLength()
     {
        return length ;
     }

     void setLength( double len )
     {
        length = len;
     }
}

void main( )
{
   Line line = new Line();

   // set line length
   line.setLength(6.0);
   writeln("Length of line : ", line.getLength());

   // set line length without member function
   line.length = 10.0; // OK: because length is public
   writeln("Length of line : ",line.length);

}

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

Length of line : 6
Length of line : 10

私有成員:

一個(gè)私有成員變量或函數(shù)不能被訪問(wèn),甚至從類外面看。只有類和友元函數(shù)可以訪問(wèn)私有成員。

默認(rèn)情況下,一個(gè)類的所有成員將是私有的,例如,在下面的類寬度是一個(gè)私有成員,這意味著直到標(biāo)記一個(gè)成員,它會(huì)假設(shè)一個(gè)私有成員:

class Box
{
   double width;
   public:
      double length;
      void setWidth( double wid );
      double getWidth( void );
}
 

實(shí)際上,我們定義在公共部分私人部分和相關(guān)的功能的數(shù)據(jù),以便它們可以從類的外部調(diào)用中所示的下列程序。

import std.stdio;

class Box
{
   public:
     double length;
          
     // Member functions definitions
     double getWidth()
     {
         return width ;
     }

      void setWidth( double wid )
      {
         width = wid;
      }

   private:
      double width;
}

// Main function for the program
void main( )
{
   Box box = new Box();

   box.length = 10.0; /
   writeln("Length of box : ", box.length);

   box.setWidth(10.0); 
   writeln("Width of box : ", box.getWidth());
}

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

Length of box : 10
Width of box : 10

受保護(hù)的成員:

protected成員變量或函數(shù)是非常相似的一個(gè)私有成員,但條件是他們能在被稱為派生類的子類來(lái)訪問(wèn)一個(gè)額外的好處。

將學(xué)習(xí)派生類和繼承的下一個(gè)篇章。現(xiàn)在可以檢查下面的示例中,這里已經(jīng)從父類派生Box一個(gè)子類smallBox。

下面的例子是類似于上面的例子,在這里寬度部件將是可訪問(wèn)由它的派生類在smallBox的任何成員函數(shù)。

import std.stdio;

class Box
{
   protected:
      double width;
}

class SmallBox:Box // SmallBox is the derived class.
{
   public:
      double getSmallWidth()
      {
         return width ;
      }

      void setSmallWidth( double wid )
      {
         width = wid;
      }
}

void main( )
{
   SmallBox box = new SmallBox();

   // set box width using member function
   box.setSmallWidth(5.0);
   writeln("Width of box : ", box.getSmallWidth());
}

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

Width of box : 5