📄 7-4.txt
字号:
using System;
class Window
{
public string m_caption; //窗口的标题
public bool IsActive; //
public handle m_handle; //
public static int m_total; //
public handle Window() {
m_total++; //
// ......创建窗口的一些执行代码
return m_handle; //
}
~Window() {
m_total--; //
// ......撤销窗口的一些执行代码
}
public static string GetWindowCaption(Window w)
{
return w.m_caption;
}
// ......窗口的其它成员
}
分析一下上面例子中的代码。每个窗口都有窗口标题m_caption、窗口句柄m_handle、窗口是否激活IsActive三个非静态的数据成员(窗口句柄是Windows操作系统中保存窗口相关信息的一种数据结构)。系统中总共打开的窗口数目m_total作为一个静态成员。每个窗口调用构造函数创建,这是m_total的值加1。窗口关闭或因为其它行为撤销时,通过析构函数m_total的值减1。
注意窗口类的静态方法GetWindowCaption(Window w)。这里它通过参数w将对象传递给方法执行,这样它就可以通过具体的类的实例指明调用的对象,这时它可以访问具体实例中的成员,无论时静态成员还是非静态成员。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -