跳转至

C# 类(Class)

当你定义一个类时,你定义了一个数据类型的蓝图。这实际上并没有定义任何的数据,但它定义了类的名称意味着什么,也就是说,类的对象由什么组成及在这个对象上可执行什么操作。对象是类的实例。构成类的方法和变量成为类的成员。

1. 类的定义

类的定义是以关键字 class 开始,后跟类的名称。类的主体,包含在一对花括号内。下面是类定义的一般形式:

<access specifier> class class_name
{
    // member variables
    <access specifier> <data type> variable1;
    <access specifier> <data type> variable2;
    ...
    <access specifier> <data type> variableN;

    // member methods
    <access specifier> <return type> method1(parameter_list)
    {
        // method body
    }
    <access specifier> <return type> method2(parameter_list)
    {
        // method body
    }
    ...
    <access specifier> <return type> methodN(parameter_list)
    {
        // method body
    }
}

请注意:

  • 访问标识符 <access specifier> 指定了对类及其成员的访问规则。如果没有指定,则使用默认的访问标识符。类的默认访问标识符是 internal,成员的默认访问标识符是 private
  • 数据类型 <data type> 指定了变量的类型,返回类型 <return type> 指定了方法返回的数据类型。
  • 如果要访问类的成员,你要使用点(.)运算符。
  • 点运算符链接了对象的名称和成员的名称。

下面的实例说明了目前为止所讨论的概念:

using System;

namespace BoxApplication
{
    class Box
    {
       public double length;   // 长度
       public double breadth;  // 宽度
    }
}

2. 访问标识符

访问标识符指定了一个类或其成员的访问级别。

C# 中有以下几种访问标识符:

标识符 说明
public 公有访问,不受限制
private 私有访问,仅限同类成员
protected 受保护访问,仅限同类及派生类
internal 内部访问,仅限当前程序集

3. 类的示例

using System;

namespace BoxApplication
{
    class Box
    {
       private double length;      // 长度
       private double breadth;     // 宽度
       private double height;      // 高度

       public void setValues(double l, double b, double h)
       {
           length = l;
           breadth = b;
           height = h;
       }

       public double getVolume()
       {
           return length * breadth * height;
       }
    }

    class Boxtester
    {
       static void Main(string[] args)
       {
          Box box1 = new Box();
          box1.setValues(5.0, 6.0, 7.0);
          Console.WriteLine("体积:{0}", box1.getVolume());
       }
    }
}

运行结果:

体积:210