我在学面向对象开发,我想把现在的进销存系统改成面向对象的形式,请教各位大侠应该从哪里开始,可否给一个思路呢?

解决方案 »

  1.   

    估计你常听到前辈说的一句话——不要为了OO而OO这是什么意思,就是做OO要有OO的逻辑思维
    说些本本以外的东西
    人做事离不开时、地、人、物、事(英语所说的五个W一个H)
    面向过程其实也是“面向对象”,只不过这个对象是时间,时间在程序中不能抽象出来,所以看上去就是无对象
    面向对象就是能把可以抽象出来的东西作为对象
    鉴于地、人在工作中大都是无差别的状态(自己想想为什么),所以往往把事、物作为对象实际中,物(编程中即数据)是变化的,也是生产的目的,把它切分作对象也困难
    那么对事切分(简单说就是工序)就成为目前人类思维方式最常见、最可行的——社会分工就是这样产生的
    大道理说完了,怎么理解看每个人的思维(不一定人人都相同的)回到具体的话题
    面向对象就是把相同的过程组合成工序,把不同的工序切分为对象,然后再通过设计模式组合工序形成生产线
    版主所说——第一步将数据库操作全部抽象出来
    就是把数据库读写这道工序抽出来形成一个细化的对象,因为这个在学习面向对象是比较容易入手的
    思想上排除形式,把相同的部分写成不变内容
    连接、选数据库、发送SQL命令,获取返回——增删改查不是都这样么(相同的过程)
    不同的只是什么库,什么命令,什么返回……那么就把不同的部分作为参数或可变属性就行了类似的还有文件目录处理、格式转换、API等等
    其实你熟悉哪个处理过程就可以先拿那个开刀写成类,不一定是数据库,版主说的是泛例,大部分人都是从数据库开始接触类和对象的,因为这个遇到比较多;我本人则是从一段xml格式处理开始接触php类学习的,因为我当年处理XML比较多javascript/dom对象则是把物(dom元素或另看作文档控件)作为对象,事(event)作为方法的思维
    因为javascript多是事件触发,不像php这些有序执行
      

  2.   


    这个东西一旦用文字描述就抽象了,还是慢慢理解吧,大部分人都免不了花时间的
    说的直白点又怕误导了你,我最初的理解就是把一大堆function组合起来,哈哈,这个理解有严重问题,请无视