大阳城www.by700.com若 要访问静态类成员

当前位置:大阳城申慱官网 > 大阳城www.by700.com > 大阳城www.by700.com若 要访问静态类成员
作者: 大阳城申慱官网|来源: http://www.sulahbazaar.com|栏目:大阳城www.by700.com

文章关键词:大阳城申慱官网,静态类

  C#静态类和静态类成员详解_计算机软件及应用_IT/计算机_专业资料。C#静态类和静态类成员详解 C#静态类和静态类成员用于创建无需创建类的实例就能够访问的数据和函数。静态类成员 可用于分离独立于任何对象标识的数据和行为: 无论对象发生什么更改, 这些数据和函数都 不会

  C#静态类和静态类成员详解 C#静态类和静态类成员用于创建无需创建类的实例就能够访问的数据和函数。静态类成员 可用于分离独立于任何对象标识的数据和行为: 无论对象发生什么更改, 这些数据和函数都 不会随之变化。当类中没有依赖对象标识的数据或行为时,就可以使用静态类。 让我们来看看静态类: 类可以声明为 static 的,以指示它仅包含静态成员。不能使用 new 关键字创建静态类 的实例。静态类在加载包含该类的程序或命名空间时由Framework 公共语言运行库 (CLR) 自动加载。 使用静态类来包含不与特定对象关联的方法。 例如, 创建一组不操作实例数据并且不与 代码中的特定对象关联的方法是很常见的要求。您应该使用静态类来包含那些方法。 静态类的主要功能如下: 1、它们仅包含静态成员。 2、它们不能被实例化。 3、它们是密封的。 4、它们不能包含实例构造函数(C# 编程指南) 。 因此创建静态类与创建仅包含静态成员和私有构造函数的类大致一样。 私有构造函数阻 止类被实例化。 使用静态类的优点在于, 编译器能够执行检查以确保不致偶然地添加实例成员。 编译器 将保证不会创建此类的实利。 静态类是密封的,因此不可被继承。静态类不能包含构造函数,但仍可声明静态构造函 数以分配初始值或设置某个静态状态。 何时使用静态类 假设有一个类 CompanyInfo,它包含用于获取有关公司名称和地址信息的下列方法。 ? class CompanyInfo ? ? { ? ? public string GetCompanyName() { return CompanyName; } ? ? public string GetCompanyAddress() { return CompanyAddress; } ? ? //... ?? ?? } 不需要将这些方法附加到该类的具体实例。因此,您可以将它声明为静态类,而不是创 建此类的不必要实例,如下所示: ?? static class CompanyInfo ?? ?? { ?? ?? public static string GetCompanyName() { ?? return CompanyName; } ?? ?? public static string GetCompanyAddress() { ?? return CompanyAddress; } ?? ?? //... ?? ?? } 使用静态类作为不与特定对象关联的方法的组织单元。 此外, 静态类能够使您的实现更 简单、迅速,因为您不必创建对象就能调用其方法。以一种有意义的方式组织类内部的方法 (例如 System 命名空间中的 Math 类的方法)是很有用的。静态成员 即使没有创建类的实例,也可以调用该类中的静态方法、字段、属性或事件。如果创建 了该类的任何实例,不能使用实例来访问静态成员。只存在静态字段和事件的 一个副本, 静态方法和属性只能访问静态字段和静态事件。 静态成员通常用于表示不会随对象状态而变 化的数据或计算;例如,数学库可能包含用于计算正弦和余弦 的静态方法。 在成员的返回类型之前使用 static 关键字来声明静态类成员,例如: ?? public class Automobile ?? ?? { ?? ?? public static int NumberOfWheels = 4; ?? ?? public static int SizeOfGasTank ?? ?? { ?? ?? get ?? ?? { ?? ?? return 15; ?? ?? } ?? ?? } ?? ?? public static void Drive() { } ?? ?? public static event EventType RunOutOfGas; ?? //other non-static fields and properties... ?? ?? } 静态成员在第一次被访问之前并且在任何静态构造函数(如调用的话)之前初始化。若 要访问静态类成员,应使用类名而不是变量名来指定该成员的位置。例如: ?? Automobile.Drive(); ?? ?? int i = Automobile.NumberOfWheels; C#技术基础试题——判断题 1.在 C#中,所有类都是直接或间接地继承 System.Object 类而得来的。 答案:对 2.在 C#中,任何方法都不能实现多继承。 答案:错 3.在 C#中,子类不能继承父类中用 private 修饰的成员变量和成员方法。 答案:对 3.在 C#类中,this 代表了当前类本身。 答案:错 4.菜单项标题中有含有带下划线的字符,这是快捷键。大阳城www.by700.com 答案:错 5.在 C#Net 中,窗体父子关系通过“属性”窗口来创建。 答案:对 6.静态类和实例类的区别在于:静态类不需要初始化即可直接使用,实例类需要进行实 例化,生成对象才可使用。 答案:对 7.使用 Directory 类的 Move()方法可以删除文件。 答案:错 8.使用 FileInfo 类的 Copy()方法可以复制文件。 答案:对 9.DataSet 对象中的表可以和数据库中的表同名,也可以不同名。 答案:对and 对象可以执行 SQL 语句。 答案:对 静态和实例类成员 属性、方法和字段等成员是对象实例所特有的,此外,还有静态成员(也称为共享成员,尤 其是 Visual Basic 用户常常使用这个术语),例如静态方法、静态属性或静态字段。静态成员 可以在类的实例之间共享,所以可以将它们看作是类的全局对象。静态属性和 静态字段可 以访问独立于任何对象实例的数据, 静态方法可以执行与对象类型相关、 但与对象实例无关 的命令。在使用静态成员时,甚至不需要实例化对象。 例如,前面使用的 Console.WriteLine()和 Convert.ToString()方法就是静态的,根本不需要实 例化 Console 或 Convert 类(如果试着进行这样的实例化,操作会失败,因为这些类的构造 函数不是可公共访问的,如前所述)。 许多情况下,静态属性和方法有很好的效果。例如,可以使用静态属性跟踪给类创建了多少 个实例。在 UML 语法中,类的静态成员用下划线. 静态构造函数 使用类中的静态成员时,需要预先初始化这些成员。在声明时,可以给静态成员提供一个初 始值,但有时需要执行更复杂的初始化,或者在赋值、执行静态方法之前执行某些操作。 使用静态构造函数可以执行此类初始化任务。 一个类只能有一个静态构造函数, 该构造函数 不能有访问修饰符,也不能带任何参数。静态构造函数不能直接调用,只能在下述情况下执 行: 创建包含静态构造函数的类实例时 访问包含静态构造函数的类的静态成员时 在这两种情况下,会先调用静态构造函数,之后实例化类或访问静态成员。无论创建了多少 个类实例, 其静态构造函数都只调用一次。 为了区分静态构造函数和本章前面介绍的构造函 数,也将所有非静态构造函数称作实例构造函数。 2. 静态类 我们常常希望类只包含静态成员,且不能用于实例化对象(如 Console)。为此,一种简单的 方法是使用静态类,而不是把类的构造函数设置为私有。静态类只能包含静态成员,不需要 实例构造函数,因为按照定义,它根本不能实例化。但静态类可以有一个静态构造函数, 面向对象语言的特性 1.继承 继承是一种层次模型,可以实现累的重用,他提供了一种明确表达共性的方法。一个新 类可以从现有的类中继承,这个过程称之为类继承。新类继承了原始类的特性,新类称之为 子类,原始类称之为父类。子类可以从他的父类中继承方法和实例变量,并且子类可以覆盖 父类中的方法或添加新的方法。 2.封装 封装是把数据和过程给包围起来, 对数据的访问只能通过给定的界面。 面向对象计算始于 这个基本概念,即现实世界是一个完全自制,封装的对象,这些对象通过一个受保护的接口 访问其他对象。 3.多态性 多态性是指不同的类对象对同一个消息做出响应。 多态性包括参数多态和包含多态。 多态 性语言具有灵活,抽象,行为共享,代码共享的优势,可以解决应用程序的函数重名问题。 抽象 抽象就是忽略一个主题中与当前目标无关的那些方面,以便充分地注意与当前目标相关 的方面。 抽象并不打算了解全部内容, 而只是选择其中一部分内容, 及主要内容, 抽象分为: 过程抽象和数据抽象

网友评论

我的2016年度评论盘点
还没有评论,快来抢沙发吧!