人在旅途--.net 学习

婴儿一出世,由it成为he or she,就意味着从此融入了复杂的社会关系,经历一次在人类伦理与社会规则的双重标准中生活,开始了为人的旅程。同理,对象也一样。
作为个体的人,首先是有类型之分的,农民、工人、学者、公务员等,所形成的社会规则就是农民在田间务农,工人在工厂生产,学者探讨知识,公务员管理国家。
对象也一样是有类型的,例如整型、字符型等等。当然,分类的标准不同,产生的类别也就不同。但是常见的分类就是值类型和引用类型两种。其依据是对象在运行时在内存中的位置,值类型位于线程的堆栈,而引用类型位于托管堆。正如农民可以进城务工,工人也可以回乡务农, 值类型和引用类型的角色也会发生转变,这个过程在面向对象中称为装箱与拆箱。这一点倒是与刚刚的例子很贴切, 农民进城,工人回乡,不都得把行李装进箱子里折腾嘛。
作为人,我们都是有属性的,例如你的名字、年龄、籍贯等,用来描述你的状态信息,同时每个人也用不同的行为来操作自己的属性,实现了与外界的交互。对象的字段、属性就是我们自己的标签,而方法就是操作这些标签的行为。人的名字来自于长辈,是每个人在出生之时构造的,这和对象产生时给字段赋值一样。但是每个人都有随时更名的权力,这种操作名称的行为,我们称之为方法。在面向对象中,可以像这样来完成:
aPerson.ChangeName("Apple Boy");
所以,对象的旅行过程,在某种程度上就是外界通过方法与对象交互,从而达到改变对象状态信息的过程,这也和人的生存之道暗合。
人与人之间通过语言交流。人一出生,就必然和这个世界的其他人进行沟通,形成种种相互的关系,融入这个完整的社会群体。在对象的世界里,你得绝对相信对象之间也是相互关联的,不同的对象之间发生着不同的交互性操作, 那么对象的交互是通过什么方式呢?对象的交互方式被记录在一本称为“设计模式”的魔法书中,当你不解以什么样的方式建立对象与对象之间的关系时,学习前人的经验,往往是最好的选择。
下面,我们简要地分析一下对象到底旅行在什么样的世界里?
对象的生存环境是CLR,而人的生存环境是社会。CLR提供了对象赖以生存的托管环境,制定一系列的规则,称之为语法,例如类型、继承、多态、垃圾回收等,在对象世界里建立了真正的 法制秩序;而社会提供了人行走江湖的秩序,例如法律、规范、道德等,帮助我们制约个体,维护社会。
人类社会就是系统架构,也是分层的。上层建筑代表政治和思想,通过社会契约和法律规范为经济基础服务,在对象世界中,这被称为接口。面向接口的编程就是以接口方式来抽象变化,从而形成体系。正如人类以法律手段来维系社会体系的运作和秩序一样。
由此可见,对象的旅行就是这样一个过程,在一定的约定与规则下,通过方法进行彼此的交互操作,从而达到改变本身状态的目的。从最简单的方式理解实际情况,这些体会与人的旅程如此接近,给我们的启示更加感同身受。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值