我是一个新手,前几天拿着自己开发的一个程序给老板看,他说我的程序是使用面向对象的工具+结构化的方法编写的,而没有将应用定义为类以解决实际问题。如何将实际应用转化为类定义,以面向对象方式编程?    我编写的是一个档案管理程序,是不是应该从TObject继承,将案卷、卷内文件等定义为类,而将维护、借阅等定义为其方法呀,这又怎么和数据库处理相联系呢——为案卷类(AjClass)、卷内文件类(WjClass)等增加一个DataSet属性,然后定义类似AjClass.DataSet.Delete的方法吗?哪位大侠指点指点我,不胜感激!本来想给300分的,但csdn不允许

解决方案 »

  1.   

    怎么说呢!其实正常的编程就是面向对象了。只是意识不到。例如:我创建了一个窗体,就是创建了一个窗体类的对象,然后我们向里面添加构件,或者变量,都是来定义tform这个类的属性,或方法。 当我们写事件的时候,也就是这个类的方法里写的!! 整体上来说都是面向对象的思想!但是,如果你意识不到这一点,那么开发过程中就是面向过程的思想了。 有些方法啦,或属性什么的,引用,就是面向过程的。 还有就是因为没有面向对象的思路,所以开发的时候,也没有用到面向对象的方法和测罗来做,所以,有的人开发的东西,可以一眼看出来是面向对象,还是面向过程的(这个不是说你啊,其实我也是菜鸟一个,大家交流一些经验而已);
    只要在开发过程中用到面向对象的思维,方法,等等。就可以开放出面向对象的产品来,当然需要经验,也不是绝对的。 主要是锻炼自己。 对于你说的,我觉得只要不是全局性的,最好不要继承类Tobject;
      

  2.   

    Delphi6应用开发指南一书中有如下Dog类的定义,在需要时定义Dog类,然后调用狗吠、跳、跑等方法来模拟狗的行为。是不是这样的才叫面向对象编程?unit UDog;interfaceuses  ...type
      TDogColor  = (dcBrown, dcWhite, dcBlack, dcYellow);
      TDogGender  =  ( dgMale, dgBitch );
      TDogBreed = ( dbLabrador, dbPoodle ); // etc
      TDogWeight = 0..300;  TDog = class
      private
        FColor : TDogColor;
        FGender : TDogGender;
        FBreed : TDogBreed;
        FWeight : TDogWeight;  public
        Procedure Jump;
        Procedure Run;
        Procedure Bark;
        Procedure Sleep;    property Color : TDogColor read FColor write FColor;
        property Gender : TDogGender read FGender write FGender;
        property Breed : TDogBreed read FBreed write FBreed;
        property Weight : TDogWeight read FWeight write FWeight;  end;const
      TDogColors : array[TDogColor] of TColor = ($00004080, clWhite, clBlack, clYellow);implementation{ TDog }procedure TDog.Bark;
    begin
    //狗吠的程序段
    end;procedure TDog.Jump;
    begin
    //狗跳的程序段
    end;procedure TDog.Run;
    begin
    //狗跑的程序段
    end;procedure TDog.Sleep;
    begin
    //狗睡觉的程序段
    end;end.
      

  3.   

    >>>建议去看 Design Pattren?————Design Pattren是什么?可以详细介绍一下吗?
      

  4.   

    Sorry!
    俺没啥文化,写错了!
    应该是Design pattern
    也就是 设计模式
    面向对象编程的经典书籍
      

  5.   

    我已经下载了英文版Design pattern,我会好好学习的,多谢!