C# 2010 从入门到精通 学习笔记6 第7章 创建并管理类和对象

C# 2010 从入门到精通 学习笔记6 第7章 创建并管理类和对象

本章内容

  1. 定义一个类,在其中包含一系列相互关联的方法和数据项
  2. 使用 public 和 private 关键字,控制类成员的可访问性
  3. 使用 new 关键字来创建对象并调用一个构造函数来初始化它
  4. 自己编写并调用构造函数
  5. 使用 static 关键字来创建可由同一个类的所有实例共享的方法和数据

7.1 理解分类

        设计一个类的过程就是对信息进行分类,将相关信息放到一个有意义的实体中的过程。

7.2 封装的目的

        定义一个类时,封装(Encapsulation)是一个重要原则。它的中心思想是:使用一个类的程序不应该关心类的内部实际如何工作。程序只需创建类的一个实例,然后调用类的方法。只要那些方法能做到它们宣称能做的事情,程序就不关心它们具体是如何实现的。
        封装有时也称为信息隐藏(information hiding)。封装实际有以下两个目的:
  1. 将方法和数据合并到一个类中;换言之,为了支持分类。
  2. 控制对方法和数据的访问;换言之,为了控制类的使用。

7.3 定义并使用类

        在 C#中,要用一个 class 关键字来定义一个新的类。类的数据和方法位于类的主体中(在两个大括号之间)。
        注意:Math 类包含了用于执行数学计算的方法,另外还用一些字段来定义了数学常量。其中,Math.PI 字段包含了值 3.14159265358979323846,这是π的近似值。
在 C#术语中,类中的变量称为字段(field)。
        重要提示:类和对象这两个术语不能混淆。类是一个类型的定义,对象则是该类型的一个实例,是在程序运行时才创建的。换言之,类是建筑蓝图,对象是按照这份蓝图来建造的房子。

7.4 控制可访问性

        注意:C++程序员请注意,public 或 private 关键字之后不要添加冒号。在每个字段和方法声明中,都必须重复输入 public 或 private 关键字。
        提示:类中的字段自动初始化为 0,false 或者 null,具体视类型而定。然而,作为一种良好的编程习惯,你应该显式地初始化字段。

        重要提示:不要声明名称只是大小写有别的两个 public 类成员。否则,类就无法供对大小写不敏感的其他语言使用,比如 Microsoft Visual Basic。

7.5 使用构造函数

        构造函数(constructor)是一种特殊的方法,它在创建类的一个实例时自动运行。它与类同名,能获取参数,但不能返回任何值(即使是 void)。每个类都必须至少有一个构造函数。如果不提供自己的构造函数,编译器会帮你自动生成一个默认构造函数。但是,编译器生成的默认构造函数不做任何实际的事情。默认构造函数非常好写——只需添加一个与类同名的 public 方法,不让它返回任何值就可以了。
        注意:在 C#术语中,默认构造函数是指不获取任何参数的一个构造函数。至于是由编译器生成,还是由自己来写,则并不重要。同时还可以写一系列非默认构造函数(也就是要获取参数的构造函数)。
        注意,构造函数被标识为 public。假如省略该关键字,构造函数将默认为 private(这和其他任何方法和字段是一样的)。private 构造函数不能在类的外部使用。
7.5.1 重载构造函数
        注意:构造函数在类中的排列顺序是无关紧要的;可以随意采用任何顺序来定义它们。
        使用C#语言时要注意:一旦为一个类写了任何构造函数,编译器就不再自动生成默认构造函数。

7.6 理解 static 方法和数据

        事实上,并不是所有方法都必须通过类的实例来提供。这些“与众不同”的方法称为工具方法或者实用方法(utility method)。它们通常提供了一个有用的功能,而且这个功能独立于任何具体的类的实例。
        在 static 方法中,不能访问类中定义的任何实例字段。相反,只能访问 static 字段。此外,只能直接调用类中的其他 static 方法;非 static 的方法(即实例方法)要求先创建一个对象,然后才能在那个对象上调用那些方法。
7.6.1 创建共享字段
         你可以定义一个 static 字段,从而创建一个能在类的所有对象之间共享的字段(非 static 字段则局部于一个类的每个实例)。
         提示:在 C#术语中,static 方法(静态方法)也叫做类方法(class method)。然而,static 字段(静态字段)通常不叫做类字段。相反,它们就叫做 static 字段,或者叫做 static 变量(静态变量)。
7.6.2 使用 const 关键字来创建 static 字段
        有一种特殊的 static 字段,它的值是永远不会改变的,我们使用 const 关键字来声明这种字段。const 是“constant”(常量)的简称。const 字段虽然也是 static 字段,但在声明时不使用 static 关键字。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值