c#发展

注册

 

发新话题 回复该主题

在NET中,C静态类使用static [复制链接]

1#
C#核心开发-第11单元-类和对象-第5节:静态类C#核心开发-类和对象1.基本概念在.NET应用程序中,使用C#开发,少不了使用静态类。首先理解清楚什么是静态,静态是相对于实例的,前面我们讲解的类,就是实例的类。实例的类,只需要使用class关键字定义即可,实例的类必须使用new关键字生成对象才可以使用。那什么是C#静态的类呢?我们可以这样理解静态,比如说我们创建了一个学生类,学生共同的特征有姓名、身高、年龄等属性信息,这些属性每个具体的学生都有,但值不同,有的21岁,有的22岁等,由于这些值不同,所以需要是实例的,也就是实例化成具体的对象,体现出不同的学生个体。但这些学生有一个共同的属性,且值也是相同的,如班级号,学校名称。如果也将班级号、学校放在实例对象中,则会造成重复浪费,所有的学生个体中都有一个班级号,且值是相同的。此时,为了解决这个浪费的问题,可以使用C#静态来实现,将所有具体的对象具有共同属性,且值也相同单独拿出来,当成静态的,这样静态的可供所有对象访问,这样就存在一个班级号即可,所有学生共享。2.定义C#类也可以定义为静态的,供所有其它的实例类使用。C#静态类的定义只需要在定义实例类时,添加static关键字即可,在VS中创建一个.NET控制台应用程序,并编写如下C#代码:图1在图1中就定义了一个静态类,静态类无需实例化,直接使用类名就可以访问其中的成员。那C#中的静态类可以包括哪些成员呢?只要能包括在非静态类中的成员,如属性、字段、构造函数、变量等,都可以在静态类中出现。只是静态类,在使用时,不需要实例化,也就是不需要使用new关键字。如图1的Common静态类,我们添加一个属性:staticclassCommon{publicstaticstringName{get;set;}}在上面的C#代码中,给Common静态类添加了一个静态的Name属性。注意:静态类中定义的所有成员,也必须是静态的,所以也需要添加static关键字。那如何调用Name属性呢?我们在Main()方法中调用一下:图1在图2中,我们只需要将静态类的名称打出来,然后在列表中就能发现其中的Name属性:classProgram{staticvoidMain(string[]args){//赋值Common.Name=小强;//取值stringname=Common.Name;//输出Console.WriteLine(name);Console.ReadKey();}}从此C#代码上看,我们并没有使用new关键字实例化Common静态类,而是直接使用类名打点调用的成员。这就是静态类的基本使用。C#高级编程(第11版)C#7.NETCore2.0(.NET开发经典名著)京东¥28购买已下架
分享 转发
TOP
发新话题 回复该主题