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

鍍金池/ 教程/ C++/ D語言類和對象
類的訪問修飾符
D語言運(yùn)算符
D語言邏輯運(yùn)算符
類指針
D語言元組
D語言指針
D語言模塊
D語言sizeof運(yùn)算符
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ùn)算符優(yōu)先級
D語言continue語句
D語言異常處理
D語言break語句
D語言if...else語句
D語言類和對象
類繼承
D語言字符
D語言教程
D語言關(guān)系運(yùn)算符
比較操作符重載
構(gòu)造函數(shù)和析構(gòu)函數(shù)
D語言抽象類
D語言if語句
D語言賦值運(yùn)算符
D中算術(shù)運(yùn)算符
D語言類成員函數(shù)
D語言位運(yùn)算符
D語言變量
D語言數(shù)據(jù)類型
D語言文件I/O
D語言數(shù)組
一元運(yùn)算符重載
D語言嵌套switch語句
D語言基本語法
二元運(yùn)算符重載
this指針
D語言聯(lián)合體
D語言模板
D語言嵌套循環(huán)
D語言while循環(huán)

D語言類和對象

類是D編程的核心功能,它支持面向?qū)ο蟮木幊毯屯ǔ1环Q為用戶定義的類型。

類是用來指定對象的形式,它結(jié)合了數(shù)據(jù)表示和操縱數(shù)據(jù)成一個(gè)整齊的包裝方法。類中的數(shù)據(jù)和函數(shù)被稱為類的成員。

D編程類的定義:

當(dāng)定義一個(gè)類時(shí),定義了一個(gè)數(shù)據(jù)類型。這實(shí)際上并不定義任何數(shù)據(jù),但它并定義哪些類名表示,即是什么類的對象將包括與哪些操作可以在這樣一個(gè)對象來執(zhí)行。

類定義以關(guān)鍵字class后面的類名開頭和類體,由一對花括號括起來。類定義必須要么跟一個(gè)分號或聲明的列表。例如,我們定義使用關(guān)鍵字class如下框數(shù)據(jù)類型:

class Box
{
   public:
      double length;   // Length of a box
      double breadth;  // Breadth of a box
      double height;   // Height of a box
}

關(guān)鍵字public確定類跟在它后面的成員的訪問屬性。公共成員都可以從類的外部訪問類對象的范圍內(nèi)的任何地方。也可以指定一個(gè)類的成員為private或protected,我們將在一個(gè)分節(jié)討論。

定義D對象:

一類提供對象框架,所以基本上是一個(gè)對象從一個(gè)類創(chuàng)建的。我們聲明一個(gè)類的對象與排序完全相同的聲明我們聲明基本類型的變量。下面的語句聲明類Box的兩個(gè)對象:

Box Box1;          // Declare Box1 of type Box
Box Box2;          // Declare Box2 of type Box

兩個(gè)對象Box1和Box2都會(huì)有自己的數(shù)據(jù)成員的副本。

訪問數(shù)據(jù)成員:

一個(gè)類的對象的公共數(shù)據(jù)成員可以使用直接成員訪問運(yùn)算符進(jìn)行訪問(.)讓我們試試下面的例子中,直觀清楚:

import std.stdio;

class Box
{
   public:
      double length;   // Length of a box
      double breadth;  // Breadth of a box
      double height;   // Height of a box
}

void main()
{
   Box box1 = new Box();    // Declare Box1 of type Box
   Box box2 = new Box();    // Declare Box2 of type Box
   double volume = 0.0;     // Store the volume of a box here

   // box 1 specification
   box1.height = 5.0;
   box1.length = 6.0;
   box1.breadth = 7.0;

   // box 2 specification
   box2.height = 10.0;
   box2.length = 12.0;
   box2.breadth = 13.0;

 // volume of box 1
   volume = box1.height * box1.length * box1.breadth;
   writeln("Volume of Box1 : ",volume);

   // volume of box 2
   volume = box2.height * box2.length * box2.breadth;
   writeln("Volume of Box2 : ", volume);
}

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

Volume of Box1 : 210
Volume of Box2 : 1560

要注意的是私有和受保護(hù)成員不能直接使用直接成員訪問運(yùn)算符(.)進(jìn)行訪問是重要的。我們將學(xué)習(xí)private和protected成員如何可以訪問。

類和對象的詳細(xì)信息:

到目前為止,已經(jīng)得到了類和對象非?;镜母拍?。有相關(guān)的為D編程中類和對象,我們將在下面列出各個(gè)子部分進(jìn)一步討論相關(guān)的概念:

Concept 描述
類成員函數(shù) 一個(gè)類的成員函數(shù)是一個(gè)函數(shù),它有它的定義或像任何其他變量在類定義中它的原型。
類的訪問修飾符 類成員可以被定義為public,private或protected。默認(rèn)情況下,成員將被假定為private。
構(gòu)造函數(shù)和析構(gòu)函數(shù) 類的構(gòu)造函數(shù)是在創(chuàng)建類的新對象時(shí)調(diào)用類中的特殊功能。析構(gòu)函數(shù)也是一個(gè)特殊的功能,當(dāng)創(chuàng)建的對象被刪除時(shí)調(diào)用。
this指針 每個(gè)對象都有一個(gè)特殊的指針this,它指向的對象本身。
指針指向類 一個(gè)指針,指向類完成完全相同的方式指向一個(gè)結(jié)構(gòu)。其實(shí)一個(gè)類實(shí)際上只是一個(gè)帶有功能結(jié)構(gòu)。
類的靜態(tài)成員 這兩個(gè)數(shù)據(jù)成員和類的成員函數(shù)可以被聲明為靜態(tài)。