这节我们讲 类的概述
我们一直说c#是面对对象的编程,而前面我们学了,每个对象都必定属于一个类,.net 中已经定义好很多的类,但是,在实际的编程中,我们还必须得再量身为程序定制一些类.
C#中所有的类都直接或间接继承自System.Object类,这使得C#中的类得以单根继承。如果我们没有明确指定继承类,编译器缺省认为该类继承自System.Object类。System.Object类也可用小写的object关键字表示,两者完全等同
确切的说,类的主要成分有三个,当然还有一些,我们这里也不深究,以后等我学精了再出深入的教程时再说吧!
1,属性:属性储存了对象的信息,我们前面说了,利用了存取器方法,所以他可以是只读,也可以是可以读可写.
2,方法:方法可以让你利用对象执行某个操作,其实也可以通过属性设置来对其他的对象相互作用,但是方法可以完成一些复合操作。
3,事件:上节课我们才讲了事件,他可以在被触发的时候做相应的事。
最后,当我们完全定义好一个类后就可以对他封装。在用的时候我们可以不管他如何完成任务的,只管知道他有哪些公共接口 ,有哪些属性,有哪些方法和事件就可以了。这些统称为类成员。
如我们前面所说的,我们可以利用类创建N个对象,可是他们都是孤立的,那我们有什么办法可以让两个特定类之间的对象可以共享咧?
那就说到重点了,我们可以定义一系列方法或者属性,把他们整体的应用到类上,而不是具体被用到某个类的对象上,他就是我们说的 共享成员(静态成员) 。例如我们要知道发布了多少本书,就用到共享属性count属性,或者说我们对所有书的价格调整,就用以个共享方法 modemon() ,那可以给所有书都打8折。
类包含一些变量,这些变量的数据包含成员变量(我们前面常常说的私有变量)中,还包含一些运算代码,而这些代码则包含在成员函数中,我们也是通过成员函数来操作数据,在实际的操作中,我们也只是提供他的属性,方法,事件等接口,数据部分则全部隐藏起来,或者说封装起来。
成员变量、成员函数都统称为类成员。他们又分为静态和实体成员。
下面我们看下举例
public static string aaa; --------静态成员变量
public static void aaa() --------静态成员函数
{
}
public string aaa; -------------实体成员变量
public void aaa() ---------------实体成员函数
{
}
注意到上面,静态的都使用了 static 关键字
在使用上 静态成员变量可以不申明对象直接使用
相反 实体成员就必须先申明对象实体,才能使用
总结下来就是: C#所有的对象都将创建在托管堆上。实例化后的类型我们称之为对象,其核心特征便是拥有了一份自己特有的数据成员拷贝。这些为特有的对象所持有的数据成员我们称之为实例成员。相反那些不为特有的对象所持有的数据成员我们称之为静态成员,在类中用static修饰符声明。仅对静态数据成员实施操作的称为静态函数成员。
还有 void : 一般方法或者函数执行后返回的可以是任何类型,如int或string。如果要写一个不返回值的方法,那么必须用关键字void来取代返回类型。
那么上面我们肯定注意到 public 这个词了,其实他还有三个兄弟呢 private\protected\ internal ,他们被称为存取修改器,用来控制外部对类成员的操作,以达到隐藏数据的目的。
下面我们分别来做解释
public :任何外部的类都可以不受限制的存取类数据。
private: 限定此类内部使用
protected:除了类本身可以用外,任何继承此类的类都可以使用
internal:表示在同一个应用程序(Application)或类库(Library)中都可以使用,不过这个我们基本上不用。
http://www.cnblogs.com/thcjp/archive/2006/09/15/505022.html