面向对象的思想1

 

【J2SE之面向对象编程】
* 面向过程的设计思想和面向对象的设计思想
例如    我要去新疆
面向过程:我开车,我挂挡,我踩油门,我过河北,我过陕西……(对于每一个过程都了如指掌,中间可能分成各个不同的方法,但是各个的方法内部怎么定的,你必须了如指掌。一切以“我”为中心,以“我”为主语)
面向对象:我命令车去新疆,车怎么去不关我事,那是车的事。
面向过程和面向对象在思维方式上有区别,说深一点就是在赋用的层次上有区别。面向过程简单理解就是在方法层次上复用,而面向对象是你隐藏了方法和你这个类的细节,你直接在整个对象层次上的赋用,重复使用。重复使用也是软件设计领域内的一个境界。当然什么面向对象、面向组建其实很大一个程度上就是想重复使用。不要老写重复的代码。
面向对象的设计思想就是:车  go 传一参数——新疆。它怎么去的,咱们以后讲了多态以后甚至说这个车是什么样的你都不用管,我只调一个go方法,我不用再了解这个车的细节了,不用再知道油门、刹车在哪。对于我来说,车这个对象对我暴露出来的就是一个方法go 去哪哪。我直接调这个方法就OK。它会把自己的信息封装在车这个类的内部,我不用去了解开车的过程。
面向对象有一个非常重要的设计思维:合适的方法应该出现在合适的类里面。意思就是车更了解车自己怎么开动,是它自己了解自己的内部结构,哪怕说将来车的内部结构变了,我只要改动自己的实现方法,对外的接口不变,还是给你提供一个 go方法,你爱怎么调就怎么调。简单的理解面向对象,就是在你的程序里面首先分解出来应该是在这个作用域里面或者说在这个程序里头应该具有哪些对象,不再是一步一步的过程了。所以从现在开始,你考虑任何的问题,你不要老想着实现这个事,我第一步应该干什么,第二步应该干什么,一旦你这样想的时候你这叫面向过程的思维。面向对象的思维是,当我碰到这个问题域的时候,碰到这个程序的时候,我首先应该把这个问题域里面有哪些对象、对象与对象之间什么关系抽象出来。
面向对象的设计思想
 面向对象的基本思想是,从现实世界中客观存在的事物出发来构造软件系统,并在系统的构造中尽可能的运用人类的自然思维方式。人在思考的时候,首先你眼睛看见的其实就是一个一个的对象。
 面向对象更加强调运用人类在日常的思维逻辑中经常采用的思想方法与原则,面向对象里有很多概念,我们慢慢了解。首先说对象和对象之间,或者说类与类之间,它们之间是有一定关系的,如抽象、分类、继承、聚合、多态等。
对象和类的概念
咱们首先弄清楚这个类和对象之间的概念。其实面向对象最核心、最本质的是面向类的编程。
对象用计算机语言对问题域中事物的描述,对象通过“属性( attribute)”和“方法(method)”来分别对应事物所具有的静态属性和动态属性
类是用于描述同一类形的对象的一个抽象的概念,类中定义了这一类对象所具有的静态和动态属性。反映到 java的类里面怎么包装它,一方面是成员变量(属性和成员变量是一回事),一方面是方法。
类可以看成一类对象的模板,对象可以看成该类的一个具体实例。实例( instance )、对象( object )其实是同一回事
( 对象 ) 之间的关系   1 关联关系
类和类之间是有关系的,学生和老师之间是两类事物,但也有关系。关系和关系之间是不同的,咱们只是简单的谈关系,是为了以后讲设计模式打基础。关系最弱的一种关系叫关联关系,关联关系说白了就是咱俩有一点关系,但不很紧密。这里给关联关系下定义不好下,将来我告诉你一句话:关联关系映射到代码上,往往是一个类的方法里面是另外一个类的具体的某一个对象,就是我的方法的参数是你这个类的对象
继承关系(一般和特殊)
继承关系封装了这样一种逻辑,叫“××是一种××”。只要这东西能说通了,你就可以考虑用这种继承关系来封装它。这个时候,继承很有可能产生一棵继承树。    多重继承
聚合关系(整体和部分)
××是××的一部分”只要这样能说通了,他们之间的关系就是一种聚合关系。聚合关系说的具体一点分为聚集,组合。聚集,例如球队和队长、队员之间,关系比较松,不是必不可缺的。组合,例如人和头、手之间,密不可分,我是你的必不可少的一部分。
实现关系
实现关系等我们讲了接口再来谈这个实现关系比较合适。实现关系的意思是:每一种继承下来的子类都有不同的对于 go 的实现方法。作为副类来说,我觉得应该具有这样一个方法,但是我不知道怎么去实现,谁去实现,我的子类去实现,这叫实现关系
5        态(后面会将)
注意:   作为面向对象的思维来说,当你考虑这个问题的时候,首先要考虑,作为这个问题,在这个问题里有哪几个类,哪几个对象;然后再考虑这几个类,这几个对象每一种类,每一种对象应该具有什么属性和方法;再考虑类和类之间具备了什么样的关系
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值