首页 > 其他分享 >无涯教程-D语言 - 类静态方法函数

无涯教程-D语言 - 类静态方法函数

时间:2023-12-02 14:05:15浏览次数:36  
标签:Box breadth 教程 静态方法 double 无涯 height objectCount 2.0

让我们尝试以下示例以了解静态数据成员的概念-

import std.stdio;

class Box { 
   public: 
      static int objectCount=0;

      //构造函数定义
      this(double l=2.0, double b=2.0, double h=2.0) { 
         writeln("Constructor called."); 
         length=l; 
         breadth=b; 
         height=h; 
          
         //每次创建对象时增加
         objectCount++; 
      } 

      double Volume() { 
         return length * breadth * height; 
      }

   private: 
      double length;     //长
      double breadth;    //宽
      double height;     //高
};
  
void main() { 
   Box Box1=new Box(3.3, 1.2, 1.5);    //实例化box1 
   Box Box2=new Box(8.5, 6.0, 2.0);    //实例化box2  
   
   //打印对象总数。
   writeln("Total objects: ",Box.objectCount);  
}

编译并执行上述代码后,将产生以下输出-

Constructor called. 
Constructor called. 
Total objects: 2

静态函数

静态成员函数只能从类外部访问,让我们尝试以下示例以了解静态函数成员的概念-

import std.stdio;

class Box { 
   public: 
      static int objectCount=0; 
      
      //构造函数定义
      this(double l=2.0, double b=2.0, double h=2.0) { 
         writeln("Constructor called."); 
         length=l; 
         breadth=b; 
         height=h; 

         //每次创建对象时增加
         objectCount++; 
      }

      double Volume() {
         return length * breadth * height; 
      }

      static int getCount() { 
         return objectCount; 
      } 
   
   private: 
      double length;     //长
      double breadth;    //宽
      double height;     //高
};
  
void main() { 
   //在创建对象之前打印对象总数。
   writeln("Inital Stage Count: ",Box.getCount());  
   
   Box Box1=new Box(3.3, 1.2, 1.5);    //Declare box1 
   Box Box2=new Box(8.5, 6.0, 2.0);    //Declare box2 
   
   //创建对象后打印对象总数。
   writeln("Final Stage Count: ",Box.getCount()); 
} 

编译并执行上述代码后,将产生以下输出-

Inital Stage Count: 0 
Constructor called. 
Constructor called
Final Stage Count: 2 

参考链接

https://www.learnfk.com/d-programming/d-programming-static-members.html

标签:Box,breadth,教程,静态方法,double,无涯,height,objectCount,2.0
From: https://blog.51cto.com/u_14033984/8654954

相关文章

  • 无涯教程-Erlang - 简介
    Erlang(/ˈɜːrlæŋ/)是一种通用的并发程序设计语言,它由乔·阿姆斯特朗(JoeArmstrong)在瑞典电信设备制造商爱立信所辖的计算机科学研究室开发,目的是创造一种可以应付大规模并发活动的程序设计语言和运行环境。Erlang于1987年发布正式版本,最早是爱立信拥有的私有软件,经过十年的发......
  • 无涯教程-D语言 - 构造与解析函数
    类构造函数类构造函数是该类的特殊成员函数,只要我们创建该类的新对象 ,该函数便会执行。构造函数的名称与类完全相同,没有任何返回类型,构造函数对于为某些成员变量设置初始值非常有用。以下示例解释了构造函数的概念-importstd.stdio;classLine{public:void......
  • 51k+ Star!动画图解、一键运行的数据结构与算法教程!
    大家好,我是Java陈序员。我们都知道,《数据结构与算法》——是程序员的必修课。无论是使用什么编程语音,亦或者是前后端开发,都需要修好《数据结构与算法》这门课!在各个互联网大产的面试中,对数据结构和算法的考核乐此不疲。往往《数据结构与算法》学得好的,都能拿到高薪!但是《数......
  • 无涯教程-Python - 泊松分布
    泊松分布是显示事件在预定时间段内可能发生的次数的分布,它用于独立事件,这些事件在给定的时间间隔内以恒定的速率发生,泊松分布是一个离散函数,意味着该事件只能按发生或不发生的方式进行度量,这意味着该变量只能按整数进行度量。无涯教程使用具有内置功能的seabornpython库来创建......
  • 无涯教程-Python - 图形数据(Graph)
    CSGraph代表压缩稀疏图,其重点是基于稀疏矩阵表示的快速图算法。稀疏图图只是节点的集合,节点之间具有链接,图几乎可以代表任何事物-社交网络连接,其中每个节点都是一个人,并与熟人相连;图像,其中每个节点是一个像素,并连接到相邻像素;高维分布中的点,其中每个节点都连接到其最近的邻居,并......
  • 无涯教程-Python - 正态分布
    正态分布是通过排列数据中每个值的概率分布来呈现数据的形式,大多数值保持在平均值附近,从而使排列对称。无涯教程在numpy库中使用各种函数来数学计算正态分布的值。将创建直方图,在该直方图上绘制概率分布曲线。importmatplotlib.pyplotaspltimportnumpyasnpmu,sigma=0......
  • 无涯教程-Python - 中心趋势
    数学上的中心趋势是指测量数据集值的中心或位置分布,它给出了数据集中数据平均值的概念,并指出了这些值在数据集中分布的范围。反过来,这有助于评估将新输入拟合到现有数据集中的机会,从而评估成功的可能性。可以使用pandaspython库中的方法计算出集中趋势的三个主要量度。均值(Me......
  • Cadence OrCAD 功能操作教程
    1.导出BOM表操作顺序:选中当前要导出BOM表的原理图->Tool->BillofMaterials->设置Header和Combined->勾选OpeninExcel导出BOM表LineItemDefinition设置Header:Item\tQuantity\tReference\tPart\tPCBFootprint\tDescription\tPartNumberCombi......
  • 无涯教程-Python - 时间序列(Time)
    时间序列(TimeSeries)是一系列数据点,其中每个数据点都与时间戳关联,一个简单的示例是在给定的一天中,股票在不同时间点的价格,另一个示例是该地区一年中不同月份的降雨量。在下面的示例中,无涯教程以特定股票代码每天四分之一的股价价格为示例,将这些值捕获为一个csv文件,然后使用pan......
  • Python日志库Loguru教程
    标题Python日志库Loguru教程(最人性化的Python日志模块)1.What:我们需要一个什么样的日志库可以区分不同类型的日志:正常,警告,错误,严重。可以配置指定的日志文件名称。可以配置指定的日志格式。可以把不同的日志类型写到不同的文件中。可以配置按照时间,文件大小等条件对日志文......