
《你必须知道的.NET》
作者简介:王涛 微软 C# MVP,高级软件工程师,机械工程硕士,主要研究方向为.NET 底层架构和企业级系统应
用。现就职于某软件公司负责架构设计、软件开发和项目管理方面的工作。作者对.NET 基础架构和 CLR 底层运行机
制有浓厚的研究兴趣和造诣,熟悉 ASP.NET、XML、SQL Server 相关技术,对面向对象、设计模式和软件架构有一
定的研究与实践经验。
第 1 部分 渊源——.NET 与面向对象
第 1 章 OO 大智慧
1.1 对象的旅行
2 1.1 对象的旅行
3 本节将介绍以下内容:
4 — 面向对象的基本概念
5 — .NET 基本概念评述
6 — 通用类型系统
7 1.1.1 引言
8 提起面向对象,每个程序设计者都有自己的理解,有的深入肌理,有的剑走偏锋。但是无论所长,几
个基本的概念总会得到大家的重视,它们是:类、对象、继承、封装和多态。很对,差不多就是这些
元素构成了面向对象设计开发的基本逻辑,成为数以千万计程序设计者不懈努力去深入理解和实践的
根本。而实际上,理解面向对象一个重要的方法就是以实际的生活来类比对象世界,对象世界的逻辑
和我们生活的逻辑形成对比的时候,这种体验将会更有亲切感,深入程度自然也就不同以往。
9 本节就从对象这一最基本元素开始,进行一次深度的对象旅行,把.NET 面向对象世界中的主角来一
次遍历式曝光。把对象的世界和人类的世界进行一些深度类比,以人类的角度戏说对象,同时也以对
象的逻辑反思人类。究竟这种旅程,会有什么样的洞悉,且看本文的演义。
10 对象和人,两个世界,一样情怀。
11 1.1.2 出生
12 对象就像个体的人,生而入世,死而离世。
13 我们的故事就从对象之生开始吧。首先,看看一个对象是如何出生的:
14 Person aPerson = new Person("小王", 27);
15 那么一个人又是如何出生呢?每个婴儿随着一声啼哭来到这个世界,鼻子是鼻子、嘴巴是嘴巴,已经
成为一个活生生的独立的个体。而母亲的怀胎十月是人在母体内的成长过程,母亲为胎儿提供了所有
的养分和舒适的环境,这个过程就是一次实实在在的生物化构造。同样的道理,对象的出生,也是
一次完整的构造过程:首先会在内存中分配一定的存储空间;然后初始化其附加成员,就像给人取个