首页 > C# > C#中的class类
2021
08-30

C#中的class类

当定义一个类时,实际上就是定义了一个数据类型的蓝图

它定义了类的对象由什么组成及在这个对象上可执行什么操作

对象是类的实例:通过new classname()来实例化

构成类的方法和变量称为类的成员

类的定义

以关键字class开始,后跟类的名称,类的主体,包含在一对花括号内

成员函数和封装

类的成员函数是一个在类定义中有它的定义或原型的函数,就像其他变量一样。作为类的一个成员,它能在类的任何对象上操作,且能访问该对象的类的所有成员。

封装是"把一个或多个项目封闭在一个物理的或者逻辑的包中",在面向对象程序设计方法论中,封装是为了防止对实现细节的访问

C#封装根据具体的需要,设置使用者的访问权限,并通过 访问修饰符 来实现。

public:所有对象都可以访问
protected internal:访问限于当前程序集或派生自包含类的类型
internal:同一个程序集的对象可以访问
protected:只有该类对象及其子类对象可以访问
private:对象本身在对象内部可以访问

以上5个访问修饰符从上到下访问范围依次缩小

类的默认访问修饰符internal,成员的默认访问标识符是private

构造函数

类的构造函数是类的一个特殊的成员函数,当创建类的新对象时自动执行

构造函数的名称与类的名称完全相同,它没有任何返回类型

using System;
namespace Mynamespace{
    class Myclass{
        public Myclass(){  // 构造函数
            Console.WriteLine("对象已创建");
        }
    }
}

析构函数

类的析构函数是类的一个特殊的成员函数,当类的对象超出范围时执行。

析构函数的名称是在类的名称前加上一个波浪形(~)作为前缀,它不返回值,也不带任何参数

析构函数用于在结束程序(比如关闭文件、释放内存等)之前释放资源。析构函数不能继承或重载。

using System;
namespace Mynamespace{
    class Myclass{
        ~Myclass(){ //析构函数
            Console.WriteLine("对象已删除");
        }
    }
}

静态成员

使用static关键字把类成员定义为静态的。

当我们声明一个类成员为静态时,意味着无论有多少个类的对象被创建,类中只有一个该成员的实例。

静态变量的值可以通过直接调用类而不需要创建类的实例来获取。

using System;
namespace Mynamespace{
    class Myclass{
        public static int num;
        public void count(){
            num++;
        }
        public static int getNum(){
            return num;
        }
    }
}
上例中,如果实例化了多个Myclass类实例对象,那么无论哪个实例对象执行了count()方法,所有的实例对象中num属性都会增加1。

类的实例化

类可以看做一个特殊的数据类型,类名称就是数据类型名,所以实例化一个类应该

ClassName key = new ClassName();

其中ClassName表示类的名称,key表示要实例话对象赋予的变量名
最后编辑:
作者:qingheluo
这个作者貌似有点懒,什么都没有留下。

留下一个回复

你的email不会被公开。