浅解面向对象设计之思
来源:互联网 发布:德雷克斯勒生涯数据 编辑:程序博客网 时间:2024/06/06 04:15
人们总会按照自己的所见、所触,去想象、去构建另一个世界。编程世界似乎也是进了这样的一个怪圈的。我们从汇编语言的发展历史其实就可以看出这个规律的:机器语言—→汇编语言—→高级语言—→面向对象的语言,纵观整个历史其实是越来靠近自然语言的。包括整个的编程世界都是由人们所熟悉的事物来组成的,无非是换了换词语而已。
面向对象编程的设计之思的由来,也是根据这些现实生活得来的。在面向对象编程中,将现实生活中的所有事物都看成是一个一个的对象,将具有相同属性的对象又抽象成一个一个的类。然后又进一步去研究事物与事物之间的关系,即类(对象)与类(对象)之间的关系。根据联系本身的不同特征,又将联系进行了分门别类:
继承:用“XX是一种XX”的语句来判断该关系是不是继承关系。子类继承所有父类的特性,同时可以扩展自己的特性。
聚合:描述的是整体与部分之间的关系。根据关系的紧密又将具体分为聚集与组合。
聚集:关系相对较疏远。
组合:关系紧密,例如桌子缺少了桌腿就不能成为一个整体了。
关联:
对整个世界有了一个整体框架构想之后,设计者便要想着为这个世界创造“活物”了。当年女娲娘娘为了丰富她的世界,她选择用泥土了捏一些小泥人儿陪她玩,之后发现光有小泥人儿,又显得太孤单,于是又创造了其他的事物。面向对象的编程设计也是这样的,设计者按照自己起初的设想,为这个世界创造了一个一个的对象。为了让这个世界更加和谐的发展,又为它制定了一系列的活动规则,即:每个对象在干好自己的活儿的前提下,也可以借助他人的手来完成自己的任务,但也要看看你们之间关系的亲密程度,以及你拥有的级别高低了。
创建Java中的对象:
class C{int i;int j;public static void main(string [] args){C c1=new C();C c2=new C();}}
女娲娘娘捏小人儿的时候用的是手和泥土,累了的时候借助小木条抽打小泥土,这样一个个鲜活的小泥人儿就有了。那我们在编程世界中又是借助什么来创建我们的“小泥人儿”的呢?答案就在红色字体部分。Java系统中会为我们提供默认的构造方法,当然如果编程人员为该类构建了自己的构造方法的话,系统提供的构造方法当然就不存在了,调用的话,当然就会出错了。但是上面的代码是通过调用class C的构造函数C()来创建对象c1、c2的。
每个对象只要存活着就需要给它安排居住地吧,居住地的大小当然也要根据它自身的特性,或者是它的活动状态来给它分配空间吧。例如一个舞蹈演员在练习舞蹈时,你总不能给她1平方厘米的空间吧。因此在编程世界中这些对象也当有自己的生存活动空间了。于是将上面的代码用图分析如下:
- 浅解面向对象设计之思
- 面向对象之设计
- 面向对象之设计
- 面向对象设计之:多态
- 设计模式之面向对象
- 面向对象之设计模式
- 设计模式之面向对象
- 设计模式之面向对象
- 面向对象的设计原则之总结
- c#面向对象设计模式之Singleton
- C#面向对象设计模式之:Singleton
- C#面向对象设计模式之:Builder
- 面向对象设计模式---之代理模式
- 面向对象设计模式---之代理模式
- 大话设计模式之面向对象基础
- 设计模式学习之面向对象思维
- 面向对象与设计模式之我见
- 面向对象设计之依赖倒置原理
- python技巧
- java_spring_依赖注入
- android:inputType参数类型说明
- CentOS升级PHP5.4真不容易
- NYOJ 206 矩形的个数
- 浅解面向对象设计之思
- 【管理心得之七】什么样的团队成员,才是组织需要的?
- apache两种工作模式详解
- C++ makefile写法标准格式简介
- Apache下禁止使用IP直接访问本站的配置方法
- NYOJ 678 最小K个数之和
- http://www.virten.net/2014/02/solve-android-x86-no-network-problems-in-vmware-workstation/
- 2013年终工作总结及工作计划
- 【高薪就业必备05】java中构造器Constructor是否可被override?