D语言游戏编程(3):D语言基础之Attributes
来源:互联网 发布:淘宝服务市场 编辑:程序博客网 时间:2024/05/16 12:57
下面是D语言文档Attributes一节讲述的主要内容,还是看代码吧!
import std.stdio;
void main()
{
tryAttributes();
}
//-- begin of Attributes ----------------------------------------------------------
//attribute语法上都支持后面跟一个大括号的形式
const
{
int A_CONST_INT = 100;
int B_CONST_INT = 100;
}
const int C_CONST_INT = 100;
abstract class MyBase
{
this()
{
writefln("MyBase.ctor");
}
~this()
{
writefln("MyBase.dtor");
}
void showMe()
{
writefln("MyBase.showMe");
}
}
class MyClass : MyBase
{
this()
{
writefln("MyClass.ctor()");
super(); //可以决定父类构造函数调用的位置,如果没有这行则先调用
}
~this()
{
writefln("MyClass.dtor()");
}
override void showMe()
{
writefln("MyClass.showMe");
}
}
void tryAttributes()
{
//attribute是声明的修饰符
//
//虚基类不能创建实例
//MyBase mb = new MyBase;//Error: cannot create instance of abstract class MyBase
MyClass mc = new MyClass;
writefln("---- enter scope");
{
//scope -- 离开作用域之后自动析构
scope MyClass mm = new MyClass;
//override函数调用
MyClass tt = mm;
tt.showMe();
}
writefln("---- leave scope");
}
//---------------------------------------------------------------------------------
void main()
{
tryAttributes();
}
//-- begin of Attributes ----------------------------------------------------------
//attribute语法上都支持后面跟一个大括号的形式
const
{
int A_CONST_INT = 100;
int B_CONST_INT = 100;
}
const int C_CONST_INT = 100;
abstract class MyBase
{
this()
{
writefln("MyBase.ctor");
}
~this()
{
writefln("MyBase.dtor");
}
void showMe()
{
writefln("MyBase.showMe");
}
}
class MyClass : MyBase
{
this()
{
writefln("MyClass.ctor()");
super(); //可以决定父类构造函数调用的位置,如果没有这行则先调用
}
~this()
{
writefln("MyClass.dtor()");
}
override void showMe()
{
writefln("MyClass.showMe");
}
}
void tryAttributes()
{
//attribute是声明的修饰符
//
//虚基类不能创建实例
//MyBase mb = new MyBase;//Error: cannot create instance of abstract class MyBase
MyClass mc = new MyClass;
writefln("---- enter scope");
{
//scope -- 离开作用域之后自动析构
scope MyClass mm = new MyClass;
//override函数调用
MyClass tt = mm;
tt.showMe();
}
writefln("---- leave scope");
}
//---------------------------------------------------------------------------------
- D语言游戏编程(3):D语言基础之Attributes
- D语言游戏编程(2):D语言基础之Declarations,Types,Properties
- D语言游戏编程(5):D语言基础之Pragmas,Expressions,Statements
- D语言游戏编程(6):D语言基础之Arrays
- D语言游戏编程(7):D语言基础之struct
- D语言游戏编程(8):D语言基础之class
- D语言游戏编程(9):D语言基础之interface和enum
- D语言游戏编程(10):D语言基础之函数和操作符重载
- D语言游戏编程(11):D语言基础之模板和混入(mixin)技术
- D语言中的特征(Attributes)
- D语言游戏编程(1):工作环境
- 使用Java语言进行2D游戏编程基础 Fundamental 2D Game Programming with Java 全书笔记(未完结)
- 3D引擎(3D engine)、3D编程语言(3D language)和3D创作系统(3D authoring system)的区别是什么?
- 3D引擎(3D engine)、3D编程语言(3D language)和3D创作系统(3D authoring system)的区别是什么?
- 3D塔防游戏实现 1.1 3D地图(Feekood语言)
- 3D塔防游戏实现 1.2 3D地图视角控制工具(Feekood语言)
- 3D塔防游戏实现 4.1 怪物3D空间自动移动(Feekood语言)
- 3D塔防游戏实现 4.2 3D怪物连续刷新(Feekood语言)
- 佛经上181条做人的道理
- Visual Studio 2005,快来下载哦
- 世间绝对
- Ajax 的核心价值
- 面试的27个经典问题
- D语言游戏编程(3):D语言基础之Attributes
- 在fc6上安装myeclipse全程记录
- Python in nutshell 2nd 简明翻译 (2)
- VC 编程 杂货
- 浮点数的内存存储格式.
- 程序员是怎样炼成的
- 三本JAVA语言经典之作
- 优先队列Priority_Queue
- 爱情的力量:6000级爱情天梯