类(Class)类可以看成是创建Java 对象的模板,中的数据和函数称为该类的成员。
类定义
类定义以关键字class开头,后跟类名,类定义之后必须是分号或声明列表,如,我们使用关键字 class 定义Box数据类型,如下所示-
class Box { public: double length; //box的长度 double breadth; //box的宽度 double height; //box的高度 }
关键字 public 确定其后的类的成员的访问属性,可以从类外部在类对象范围内的任何位置访问公共成员。您还可以将类的成员指定为私有的private 或受保护protected的修饰符 ,我们将在小节中讨论。
定义对象
对象是从类创建的实例,以下语句声明Box类的两个实例对象 -
Box Box1; //声明类型为 Box 的 Box1 Box Box2; //声明类型为 Box 的 Box2
对象Box1和Box2都有自己的数据成员。
访问数据
可以使用直接成员访问运算符(.)访问类对象的公共数据成员,让我们尝试以下示例以使事情变得清晰起来-
import std.stdio; class Box { public: double length; //box的长度 double breadth; //box的宽度 double height; //box的高度 } void main() { Box box1=new Box(); //声明类型为 Box 的 Box1 Box box2=new Box(); //声明类型为 Box 的 Box2 double volume=0.0; //在这里存储box的体积 //box1赋值 box1.height=5.0; box1.length=6.0; box1.breadth=7.0; //box2赋值 box2.height=10.0; box2.length=12.0; box2.breadth=13.0; //box1的体积 volume=box1.height * box1.length * box1.breadth; writeln("Volume of Box1 : ",volume); //box2的体积 volume=box2.height * box2.length * box2.breadth; writeln("Volume of Box2 : ", volume); }
编译并执行上述代码后,将产生以下输出-
Volume of Box1 : 210 Volume of Box2 : 1560
重要的是要注意,不能使用直接成员访问运算符(.)直接访问私有成员和受保护成员。
类和对象
相关的其他有趣概念,我们将在下面列出的各个小节中讨论它们-
Sr.No. | Concept & 描述 |
---|---|
1 |
Class member functions 类成员函数是一个在类定义中具有其定义或原型的函数,就像其他任何变量一样。 |
2 |
Class access modifiers 类成员可以定义为公共public,私有private或受保护protected成员,默认情况下,成员将被假定为私有private成员。 |
3 |
Constructor & destructor 类构造函数是类中的一个特殊函数,当创建该类的新对象时会调用该构造函数。 |
4 |
The this pointer in D 每个对象都有一个特殊的指针 this ,它指向对象本身。 |
5 |
Pointer to D classes 指向类的指针的操作与指向结构的指针的方法完全相同。实际上,类实际上只是其中包含函数的结构。 |
6 |
Static members of a class 一个类的数据成员和函数成员都可以声明为static 静态的。 |
参考链接
https://www.learnfk.com/d-programming/d-programming-classes-objects.html