C#是由微软公司推出的一种现代的、面向对象的编程语言,它与.NET战略一同发布,也是.NET Framework平台开发的推荐编程语言;本教程目的就是让初学者能够快速掌握C#编程语言的使用,并可以开始进行.NET应用的开发工作。

本课重点在于理解面向对象编程(OOP)概念,暂时不需要自己编写代码,下一节课将讨论如何进行代码的编写和测试。

面向对象编程的基本概念是,以操作对象为中心,将操作对象的数据及其操作进行包装,使其操作更加直观、代码耦合度更高;同时,代码的开发、测试、维护、发布等一系列工作也可以更加灵活和高效。

在C#代码中,可以使用“car.Color”代码表示汽车的颜色,其中car就表示一个汽车对象,而Color表示汽车的颜色数据,在对象和数据之间使用英文半角的圆点分隔;在C#中,对象的数据可以使用字段(field)或属性(property)定义,稍后讨论。

对于对象数据的操作,可以使用方法(method)定义,如car对象的行驶操作,可以使用“car.Drive()”代码完成,而后退操作可以使用“car.Return()”代码完成,其中的Drive()和Return()就是汽车对象的两个方法。

那么,car对象从何而来呢?此时,需要一个原始的类型,在面向对象编程概念中,常常定义为类(class)类型,在C#中,使用class关键字定义一个类类型,如下面的代码:

public class CAuto 
{
    public int DoorCount;
}

代码中创建了一个名为CAuto的类,用于定义汽车的原始类型;在CAuto类中,还定义了一个名为DoorCount的字段,用于表示车门数量。代码中的int关键字表示定义一个32位整数的数据类型,而public(公共的)关键字表示定义的内容在代码中的任何地方都可以访问。下面的代码,我将DoorCount定义为一个属性。

public class CAuto 
{
    public int DoorCount { get; set; }
}

如果需要限定车门数量的有效性,可以修改代码如下:

public class CAuto 
{
    private int myDoorCount;
    public int DoorCount 
   {
        get 
        {
            return myDoorCount; 
        }
        set 
        {
            if(value>=0 && value<=5) 
                myDoorCount = value;
            else 
                myDoorCount = 4;
        }
    }
}

这里,我们综合使用字段myDoorCount和属性DoorCount,其中,我们可以看到字段和属性配合使用的一般形式,即,在类中使用一个私有的(private)字段保存字段数据,然后,在属性的get语句块中,使用return语句返回此字段的数据;在set语句块中,使用value表示设置的数据,我们可以对此数据进行检查和处理,此例中,如果车门数指定为0到5则保存到myDoorCount字段中,否则将车门数设置为4个。

下面的代码,我们定义CAuto类的Drive()和Return()方法。

public class CAuto 
{
    // ...
    //
    public void Drive()
    {
        // ...
    }
    //
    public void Return()
    {
        // ...
    }
}

代码中,void关键字表示方法不会返回任何数据。

现在,我们已经有了CAuto类,如何由它创建car对象呢?可以使用下面的代码。

CAuto car = new CAuto();

代码中,“CAuto car”定义了一个CAuto类型的car对象,不过,只是这样定义的car对象还是不能使用的,它还是一个空对象,用null关键字表示;对于一个对象,必须实例化为一个具体类型的实例才可以使用,这里就是通过“new CAuto()”语句完成的。“=”在这里称为赋值运算符,其功能就是将右边的数据赋值到左边的标识符中,这里就是将“new CAuto()”实例化的对象赋值给car,这样,car对象才可以使用CAuto类型中定义的成员,如DoorCount属性、Drive()和Return()方法等。

通过这一行代码,我们创建了CAuto类的一个实例car,也可以说car是CAuto类的一个实例,简单地说就是创建了CAuto类型的car对象。

下面的代码演示了如何调用car对象的成员。

CAuto car = new CAuto();
car.DoorCount = 5;
car.Drive();
car.Return();

本课讨论了面向对象编程的基本概念,它是以提高数据及其操作方法耦合度的一种编程方法;在C#中,使用class关键字定义一个类,而某个类类型的对象,还需要实例化才能使用,这一操作是使用new关键字完成的。

CHY软件小屋原创作品!