今天开始看begin c# objects from concepts to code,希望自己可以坚持下去,不要一直给自己借口,同时在这段时间里注意培养自己的注意力和一些良好的学习习惯。希望自己的计划可以一直坚持下去。
今天需要了解的内容是oop中最类的概念以及其特性。
书中给对象定义了两个特征,状态和行为。首先看看书中对对象的定义:所为(软件)对象,是一种将状态和行为合成到一起的软件构造,用来描述真实世界的一个(物理性或者概念性)的对象。
我们可以状态理解为c#类中的属性,也是用来描述对象的数据元素。
行为这可以理解为类中的方法,通过方法我们去完成哪些事情以达到改变或者获取对象的状态信息。
抽象模型中的类,描述了一组相似的一项的共同特征。即时拥有相似状态和行为的一个群体。而这个群体中的个体之间的不则是通过其具体的状态来表现的。
关于对象的实体化,书中举了一个很形象的例子,即是用飘在空中的氢气球来代表对象或者说是类,而实例化则相当于是给这个气球系上了一个绳子,我们通过这个绳子来访问这个对象。如果说空中的氢气球是飘在空中,是我们无法触摸的,是一个重抽象的存在。那么系上绳子的气球则变成一个真实的,掌握在我们手中的实体。通过这个绳子我们可以获取这个真实的,独一无二的气球。
关于最后的合成,则说明的是一个类中引用另外一个类。这个在将需求模型进行划分为类时,总是会遇到某些联系紧密的对象,那么如何表示这种关系呢,合成则提供了很好的解决方案。例如在表示类A的某些特性时,需要用到类B的某些特性来进行描述,那么我们可以再类A中直接定一属性,这个属性用来表示类B的实例,也就是系在氢气球B上的绳子。只是这个绳子还没准备好要系在众多氢气B中的那一个上面。