你的位置:首页 > ASP.net教程

[ASP.net教程]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};