一.定义类
Class myclass
{
////类的成员
}
1.比较public和internal访问属性。
internal是默认访问属性,指的是当前项目可以访问。
public是公共的,其它项目属性也可以访问。
2.了解各个访问属性。
公开性:public > internal > protected > privated >sealed(不能继承).
注意:派生类的访问属性不能高于基类的访问属性。
abstract抽象类指的是不能实例化,只能继承,可以有抽象成员。
public abstract class myclass
{
///成员,可以有抽象成员
}
3.类指定接口的方式
public class myclass:mybase,Imyinterface ///必须将基类放在前面,接口放在后面。
{
///类的成员,其中包含接口成员的实现
}
二.System.Object
所有的类都是继承自System.Object。System.Object具有一些受保护和共有的成员可以被访问。
Equals(object)
Equals(object,object)
ToString()
GetType() //以System.Type 对象的形式返回对象的类型
三.构造函数和析构函数
两者都会自动添加。但是可以根据自己需要进行代码添加,或者重载。
其中,析构函数可以不用管,因为C#有垃圾回收机制,会自动回收不用的内存。
四.类库项目
类库项目编译为.dll 程序集,在其他项目中添加对类库项目的引用,就可以访问它的内容。
设计步骤:
新建类库--->编译---->得到**.dll类库了。
如何调用类库呢?
在控制台程序中添加引用类库--->添加using 类库名--->调用类库中的类进行开发。
注意:仅有public类可以被调用,内部类internal是不能被调用的,指的包括没有写任何访问属性的类(默认为internal)
小结:利用外面程序集中的类的技术是使用C#和.NET编程的关键。实际上,调用.NET中的任何类,也就是在利用外部程序集)(类库)中的类进行开发。
五.接口和抽象类的定义
接口和抽象类都不能直接实例化,但可以声明这些类型的变量。
派生类只能继承一个基类,即只能直接继承一个抽象类(但可以用一个继承链包含多个抽象类)。相反,类可以使用任意多个接口。
关于抽象类,一般是比较抽象的名词。比如汽车类,它具有汽车通用的成员,比如多个轮子,可以行走等。但是我们不能用汽车类去开发一个交通管理系统,因为汽车下面有小轿车、货车、卡车、公交车等。这些类就是汽车类的派生类,可以更加详细个性化地描述车辆的特性。
对于接口,则是将基类(若干个)的功能集成在里面。比如,载人接口派生于汽车类,然后它可以被小轿车和公交车类继承。
六.结构体与类
结构体在C#中可以有函数成员,但是结构体是值类型,而类是引用类型。
使用指针的全部技术隐藏在托管C#代码中,它使得代码更简单。使用C#中的不安全代码可以进行低级操作,如指针操作。
unsafe
{
////指针操作
}