C#学习记录(21)类的定义

    一.定义类

    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

    {

           ////指针操作 

    }

    

猜你喜欢

转载自blog.csdn.net/shenseyoulan/article/details/80854335