zoukankan      html  css  js  c++  java
  • 面向对象程序设计的思考

    面向对象程序设计最重要的一点,就是对象的设计。设计好了对象,所有的工作,至少可以说是已经完成了一半。当然,我说的是一个完整的对象,并不是仅仅只有定义,也要有实现才行。

    最近,我又开始翻看《java编程思想》等一些面向对象程序设计的一些书,当看到对对象的描述的时候,不禁开始思考:在设计对象的时候,什么才是最重要的呢?首先,一个对象是由其属性和行为组成的。有些地方喜欢说是成员——成员变量和成员函数,但是我更愿意说是属性和行为,这样的描述更能让我直观也更自然的认识一个对象:万物都是对象,生活中的任何一样事物,在抽象成为模型之后,对应该以对象描述之。那么在设计一个对象的时候应该怎么去思考呢?有人说,应该先考虑你设计的对象能干什么活儿,然后在考虑你设计的对象应该拥有哪些属性。但是我的观点恰恰相反,我认为,在设计对象的时候,应该想考虑我设计的对象是什么,它有用哪些属性,然后在此基础上考虑我设计的对象它应该拥有哪些行为。比如在设计一个汽车对象的时候,首先我想到的是,汽车应该有4个轮子,一个方向盘,一个发动机等等,然后我想到汽车有了这些东西之后,它有启动,停止等行为,考虑完成这些之后,就可以着手设计该对象了。当然针对这个例子的话,发动机应该也是一个对象,然后汽车和发动机应该是一个has-a的关系。

    我更喜欢贴近现实的程序抽象,因为这样让我感觉更舒服,也让程序设计起来更加清晰更加容易阅读和理解。

  • 相关阅读:
    关于发现宇宙微波背景(CMB)辐射的一则趣闻
    windows 8,关闭随意窗体都提示“已停止工作”的解决的方法
    非洲小孩
    Android自己定义控件背景及其Drawable以实现扁平化
    POJ2533:Longest Ordered Subsequence
    iOS Dev (63) 怎样在 TableView 滚动时收起键盘?
    自己用c语言做的日历
    time .h 的用法
    动态规划--目标和问题
    Linux shell编程学习笔记---第八章
  • 原文地址:https://www.cnblogs.com/malloc/p/2217509.html
Copyright © 2011-2022 走看看