D编程 封装
封装是一种面向对象的编程概念,它将数据和将数据操作在一起的函数绑定在一起,并且可以确保不受外界干扰,封装导致了数据隐藏的重要OOP概念。
一个类可以包含 private ,protected和 public 修饰符,默认情况下,类中定义的所有项目都是private私有的。如-
class Box {
public:
double getVolume() {
return length * breadth * height;
}
private:
double length; //Length of a box
double breadth; //Breadth of a box
double height; //Height of a box
};
变量的length,breadth和height为 private私有的,这意味着它们只能在Box类中访问,这是实现封装的一种方式。
要使某个类的一部分成为 public 公开的,需要 public 关键字修饰它,程序中的所有函数都可以访问它修饰的所有变量或函数。
数据封装
在其中使用公共public成员和私有private成员实现类的任何D程序都是数据封装和数据抽象的一个示例。考虑以下示例-
import std.stdio;
class Adder {
public:
//constructor
this(int i=0) {
total=i;
}
//interface to outside world
void addNum(int number) {
total += number;
}
//interface to outside world
int getTotal() {
return total;
};
private:
//hidden data from outside world
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 是与外界的接口,用户需要了解它们才能使用该类。