C#类、静态类

 

    C#是面向对象(object-oriented)类型的计算机语言,使用类(class)来体现面向对象的概念。

  分类(classification)

  我们在现实世界中,会遇到很多被分类的事物。例如,动物,汽车,家具。这些事物,在计算机语言中统称为对象(object).拿汽车为例子,一个汽车最基本的配件、功能有:轮胎,方向盘、引擎,能驾驶等等。在编程世界里,我们创建一个汽车对象的过程,称为建模(modeling).建模的过程,就是将轮胎,方向盘,引擎,能驾驶等封装到模型中。封装是面向对象的几大特点中的一个。我们将轮胎,方向盘,引擎以字段(fields)的形式存在在模型中,将能驾驶以方法(method)的形式存在模型中。下面代码片段建了一个汽车模型,或者汽车类。

class  Automobile
{
     private  string _steeringWheel;

     private string   _tire;

     private string _engine;

    public void    Run()
 {
         
 }
}

当创建了一个类,这个类就会设定一个边界来隔离类内部与类外部。那么外部怎样去访问类内部的字段与方法呢?public修饰符,可以允许类外部访问。private修饰符,只允许类内部访问。

_steeringWheel,_tire,_engine,这些字段是private修饰,类外部不允许访问。Run()方法,public修饰,外部可以访问。我们将一些属性,方法封装在了Automobile类中。封装的意义有两个:

1.将属性、方法集合在一起。换句话说,就是分类。将属于汽车的配件,功能从其他事物中分类出来。

2.控制属性,方法的访问。通过给定访问修饰符来控制类外部是否访问类内部的字段,方法。

 

静态方法、数据:

   静态方法,不同于普通方法,静态方法只能通过类来调用。普通方法只能通过实例化对象来调用。例如:

 

class  Test
{
        pulbic static DoWrok()
        {
                    DoWork2(); //即使DoWork2与该方法在一个类中,也不可以访问。
                                      //静态方法只可以访问静态方法,静态字段                        
       }
      public void DoWork2()
    {
                
    }
}

  
    Test.DoWork();  //可以调用成功
     Test.DoWork(2);// 编译失败
     Test  object=new Test(); //实例化了Test对象
      object.DoWork2(); //通过实例化对象来调用方法

一般静态方法都是一些常用方法,在程序中使用比较频繁,不用每次调用都要实例化对象。有静态方法,也有静态类。关于静态类,应当注意一下几点:

1.静态方法中只允许静态成员,换句话,静态类中的字段,方法必须都是静态的。

2.静态类的用处,封装一些常用的工具。

关于静态字段,与常量字段需要注意,常量字段不可以标记为静态类型,但是它静态的。

 

匿名类(Anonymous Class):

顾名思义,匿名类就是没有名字的类。我们用var关键字来定义它的类型。关于匿名类有一些限制:

1.匿名类只能包含公共字段

2.匿名类不可以包含方法

3.匿名类的字段不可以定义为静态的

4.匿名类的字段必须初始化

var Anonymous =new {Name="Diana",Age=46};

 

posted @ 2015-07-29 15:29  VitoCorleone  阅读(2117)  评论(0编辑  收藏  举报