C#编程:深入理解静态成员与类的使用

需积分: 1 0 下载量 21 浏览量 更新于2024-08-23 收藏 1.67MB PPT 举报
"深入C#数据类型,第二章理论,北大青鸟6.0 .Net课程,讲解静态成员的使用,包括静态方法和静态变量。通过案例实现不同功能,如使用Visio绘制类图,实现评分、编号和投票器功能,巩固类、对象、封装和方法调用的理解。" 在C#编程语言中,静态成员是一个重要的概念,它们属于类本身,而不是类的实例。静态成员可以是静态方法或静态变量,它们在程序执行期间只存在一份,不随类的实例化而创建新的副本。 1. **静态成员的调用**: - 静态成员可以直接通过类名来访问,无需创建类的实例。例如,`Console.WriteLine("你好!")` 使用了 `Console` 类的静态方法 `WriteLine`,而 `Console.WriteLine(Math.PI)` 则同时调用了 `Console` 的静态方法和 `Math` 类的静态属性 `PI`。 - 赋值给静态变量的方式是 `类名.变量名 = 值;`,如 `MyClass.staticVariable = 10;`。 - 调用静态方法的方式是 `类名.方法名();`,如 `MyClass.MyStaticMethod();`。 2. **静态方法**: - 静态方法不依赖于类的实例,它不能访问非静态成员,因为非静态成员与特定的对象关联。静态方法通常用于执行与类的实例无关的操作,例如工具函数或计算。 - 静态方法可以通过类名直接调用,无需创建对象,这使得它们在程序的任何地方都能被调用,只要类已经被引用。 3. **静态变量**: - 静态变量在整个程序的生命周期内只存储一份,所有类的实例共享同一个静态变量的值。 - 静态变量在类的静态构造函数中初始化,或者在声明时初始化。 4. **本章任务**: - 学生需要使用Visio绘制基本的类图,这有助于理解和可视化类之间的关系。 - 实现项目经理给员工评分的功能,这涉及到类的设计和方法的使用。 - 给新购计算机编号,这可能涉及到静态变量的应用,因为所有的计算机可以共享一个计数器。 - 创建投票器,选举最佳员工,这可能需要用到静态方法来统计投票结果。 5. **自动属性**: - 自动属性是C#中的一种语法糖,简化了属性的定义,编译器会自动生成私有字段和相应的 get 和 set 访问器。 - 当不需要自定义 get 或 set 逻辑时,使用自动属性可以减少代码量,如 `public string Name { get; set; }`。 6. **复习点**: - 对象和类的关系,对象是类的实例,类是对一组相似对象的抽象。 - 类的属性,包括只读、只写属性以及设置验证逻辑。 - 方法,表示类和对象的行为,可以有参数和返回值。 本章的目标是巩固对类和对象的理解,掌握静态成员的使用,并通过实践项目加深对C#编程的理解,特别是静态成员在解决实际问题中的应用。通过完成任务,学生将更熟练地运用C#的面向对象特性,如封装和方法调用。