首页 > 其他分享 >无涯教程-D语言 - 封装

无涯教程-D语言 - 封装

时间:2023-11-18 19:31:49浏览次数:39  
标签:教程 封装 double addNum private 无涯 total public

封装是一种面向对象的编程概念,它将数据和将数据操作在一起的函数绑定在一起,并且可以确保不受外界干扰,封装导致了数据隐藏的重要OOP概念。

一个类可以包含 private ,protected和 public 修饰符,默认情况下,类中定义的所有项目都是private私有的。如-

class Box { 
   public: 
      double getVolume() { 
         return length * breadth * height; 
      } 
   private: 
      double length;      //长
      double breadth;     //宽
      double height;      //高
};

变量的length,breadth和height为 private私有的,这意味着它们只能在Box类中访问,这是实现封装的一种方式。

要使某个类的一部分成为 public 公开的,需要 public 关键字修饰它,程序中的所有函数都可以访问它修饰的所有变量或函数。

数据封装

在其中使用公共public成员和私有private成员实现类的任何D程序都是数据封装和数据抽象的一个示例。考虑以下示例-

import std.stdio;
  
class Adder { 
   public: 
      //构造函数
      this(int i=0) { 
         total=i; 
      } 
      
      //类方法
      void addNum(int number) { 
         total += number; 
      } 
      
      int getTotal() { 
         return total; 
      }; 
   
   private: 
      //隐藏字段
      int total; 
}
 
void main( ) { 
   Adder a=new Adder(); 
   
   a.addNum(10); 
   a.addNum(20); 
   a.addNum(30);  
   writeln("Total ",a.getTotal()); 
} 

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

Total 60

上一类将数字相加,然后返回总和。公共方法 addNum 和 getTotal 是与外界的接口,用户需要了解它们才能使用该类。

参考链接

https://www.learnfk.com/d-programming/d-programming-encapsulation.html

标签:教程,封装,double,addNum,private,无涯,total,public
From: https://blog.51cto.com/u_14033984/8464353

相关文章

  • 无涯教程-D语言 - 继承
    面向对象编程中最重要的概念之一是继承,继承允许使用一个类继承另一个类,这样就可以直接调用父类的公共函数或变量,这使得维护变得更加容易。基类和子类子类通过":"冒号来实现继承基类。classderived-class:base-class考虑如下基类Shape及其派生类Rectangle-importstd.s......
  • 香橙派3b无屏幕ssh连接教程
    作为小白的我这几天买了个香橙派3b经过这几天的折腾,终于进入了ssh终端(大喜 我买的是官店的8G,创客价299,连着一起买了一个闪迪的64gTF卡 简单总结一下搭建过程:物理准备:一台电脑,香橙派与一张16G以上的tf卡,tf读卡器(一般会送)一根网线,type-c线第一步:烧录ubuntu系统到tf卡上......
  • 无涯教程-D语言 - 类和对象
    类(Class)类可以看成是创建Java对象的模板,中的数据和函数称为该类的成员。类定义类定义以关键字class开头,后跟类名,类定义之后必须是分号或声明列表,如,我们使用关键字class定义Box数据类型,如下所示-classBox{public:doublelength;//box的长度doubl......
  • 无涯教程-D语言 - 异常处理
    Exception异常是在程序执行期间出现的问题,异常提供了一种将控制权从程序的一部分转移到另一部分的方法。D异常处理基于三个关键字try,catch和throw。throw   - 出现问题时,程序将引发异常。这是通过throw关键字完成的。catch   -  catch关键字用于捕获......
  • 无涯教程-D语言 - 并发
    并发使程序在多个线程上运行,一个示例是Web服务器同时响应多个客户端,并发通过消息传递很容易,但是它们基于数据共享则很难编写。启动线程函数spawn()将指针作为参数,并从该函数启动新线程,该函数执行的任何操作,包括它可能调用的其他函数,都将在新线程上执行。importstd.stdio;im......
  • 磁力搜索引擎大全教程,如何使用磁力链接。
      磁力链接是一种特殊的下载链接,磁力链接可以理解为一个文件识别码,而并非具体的资源地址,下载软件需要拿着这个识别码去整个互联网(DHT网络)去寻找持有该资源的用户(节点),如果找到则可以进行传输下载。一般年代越久远的磁力链接下载成功的几率越小,因为持有该资源的节点越少。一......
  • 无涯教程-D语言 - 文件I/O
    文件File由std.stdio模块的File结构表示,文件表示字节序列,无论是文本文件还是二进制文件都没有关系,D编程语言提供对高级函数的访问/处理存储设备上文件。打开文件首先通过指定文件名和所需的访问权限来打开文件。Filefile=File(filepath,"mode");在这里,filename是字符串......
  • Form表单组件封装和使用
    表单Form是中后台频繁使用的组件,以下是一个基于arcodesignvue组件库封装的表单组件。这个表单组件特点:所有配置都是直接继承组件库组件的props,无需其他文档可配置展开折叠支持响应式布局表单项支持动态隐藏插槽支持,自定义扩展组件库的良好支持,封装代码简洁优雅placeh......
  • 无涯教程-D语言 - 不可变(Immutables)
    我们经常使用可变的变量,但是在很多情况下不需要可变性。D的不变性概念由const和immutable关键字表示,尽管这两个词本身的含义很接近,但它们在程序中的职责有所不同,有时是不兼容的。枚举常量枚举常量使将常量值与有意义的名称相关联成为可能,一个简单的如下所示。importstd.stdi......
  • Windos操作系统下的Zookeeper安装图文教程
    凯哥已经准备好最新版本3.9.1且已经配置好了。既获取到配置好的。获取到凯哥准备的安装后,只需要修改一下配置。将解压包解压后,找到conf文件,里面有个zoo.cfg配置文件。如下图:下载后conf文件夹内容打开zoo.cfg配置文件后,找到13、14这两行。将dataDir和dataLogDir的路径修改成自......