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

鍍金池/ 教程/ C++/ D語(yǔ)言類和對(duì)象
類的訪問(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ǔ)言開(kāi)發(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)

D語(yǔ)言類和對(duì)象

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

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

D編程類的定義:

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

類定義以關(guān)鍵字class后面的類名開(kāi)頭和類體,由一對(duì)花括號(hào)括起來(lái)。類定義必須要么跟一個(gè)分號(hào)或聲明的列表。例如,我們定義使用關(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確定類跟在它后面的成員的訪問(wèn)屬性。公共成員都可以從類的外部訪問(wèn)類對(duì)象的范圍內(nèi)的任何地方。也可以指定一個(gè)類的成員為private或protected,我們將在一個(gè)分節(jié)討論。

定義D對(duì)象:

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

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

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

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

一個(gè)類的對(duì)象的公共數(shù)據(jù)成員可以使用直接成員訪問(wèn)運(yùn)算符進(jìn)行訪問(wèn)(.)讓我們?cè)囋囅旅娴睦又?,直觀清楚:

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ù)成員不能直接使用直接成員訪問(wèn)運(yùn)算符(.)進(jìn)行訪問(wèn)是重要的。我們將學(xué)習(xí)private和protected成員如何可以訪問(wèn)。

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

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

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