用VB作为大学计算机课程中面向对象程序设计的教学语言,大家认为如何?
从VB的面向对象的特性考虑VB没有继承,重载和接口!

解决方案 »

  1.   

    严格的说VB并非面向对象,因为VB支持类但不支持继承,所以VB只能说基于对象。而且VB有太多的平台相关性,不能脱离Windows平台,而面向对象更多的是一个思想,不是一段代码一个程序的问题,我认为还是用一种完全的面向对象的语言比较好,甚至Delphy也好于VB
      

  2.   

    不同意楼上 vb是面向对象的只是你没有感觉到  它封装的很严但作为教学我认为还是应该用 c++ ,这样所有的基本概念都很清楚也好理解
    因为vb中的oop不很清晰
      

  3.   

    呵呵
    这是我正在写的程序项目:简单图形编辑系统
    作者:zyl910
    版本:V1.0 Coding
    更新:20040827
    设计原因
    ~~~~~~~~
    这个程序主要是用来测试VB面向对象编程能力的。
    功能描述
    ~~~~~~~~
    1、支持简单图形(直线、矩形、椭圆)的编辑
    2、能够修改画笔颜色、线型,能够修改刷子颜色(不允许改画笔的大小,不允许改变填充样式,这是为了简化图形点击测试)
    3、能够保存(*.sap)
    4、坐标单位是像素,不允许缩放
    5、1.0版不支持打印、不支持撤销!
    VB的面向对象编程
    ~~~~~~~~~~~~~~~~
    不要以为VB没提供代码继承就认为面向对象编程能力不行,其实接口继承在某些时候还是很不错的。VB的多态性:
    1、通过接口继承实现多态性。速度较快,但需要继承接口,比较麻烦
    2、通过后期绑定实现多态性。速度较慢,但是用比较简单
    Is运算符:
    Obj1 Is Obj2:判断Obj1与Obj2是不是同一对象,同一对象的不同接口的Is结果为TrueTypeOf关键字:
    TypeOf obj Is Iobj:判断对象(obj)是否存在某种接口(Iobj)设计思想
    ~~~~~~~~
    1、为了支持PointAPI、Rect等结构能在类中传输,将具体实现部分放在ActiveX DLL中。这样还有利于升级(只需要更新dll)
    2、由于直线、矩形、椭圆都是图形,所以它们都从IShape继承接口
    3、由于某些对象(直线)无法设置刷子,所以画笔、刷子修改需要分别继承IPen、IBrush接口
    4、为了实现流输入输出,提供IInStream、IOutStream接口(本来是想设计IStream单接口的,但后来觉得严格点好些)
    5、VB的文件操作功能才局限,本程序使用文件API读写文件。该操作封装CFile类,该类继承IInStream、IOutStream接口
    6、图形的绘制、点击测试由IShape提供
    7、控制点处理由CShapeWorld控制,控制点坐标由IShape提供
    -- zyl910公告(2004/8/28) ---------昨天突然打雷下雨
    导致计算机突然断电
    我那时正在上网今天雨才停
    拨号一看
    “没有拨号音”我在家里翻箱倒柜
    总算找到一个Modem了
    可惜是14.4kbps的
    上网速度很不爽所以这几天可能不会上网了
    (再过几天就开学了)
      

  4.   

    VB是基于接口的面向对象编程
    不是传统的基于继承的面向对象编程
    看过林锐写的“高质量程序设计指南——C/C++语言”没有
    上面提到:就是因为C++的继承太有用、太容易用,所以经常被乱用
    依我来看:初学者学习面向对象编程不应从C++学起,这是由于C++太复杂了,容易被乱用。
    (听说初学者学习面向对象编程从Java开始比较好,但我没学过Java,不知道到底怎么样)虽然VB的基于接口的面向对象编程功能比较薄弱
    但是就是因为其薄弱没有C++那么复杂
    所以乱用的几率比较少,能更快的把握面向对象编程精神从另一个方面来说
    如果基于接口的面向对象编程真的那么差的话
    那么Microsoft的OLE/COM/DCOM/COM+/.Net能取得成功吗
      

  5.   

    vb不是面向对象的语言,而是基于对象的语言,因为它不具备面向对象的三个基本特征中的:继承。因此用vb作为大学计算机课程中面向对象程序设计的教学语言是不合适的,如果说面向的专业是计算机专业的话,我建议还是应该选择c++,而上机的话就使用vc;如果不是计算机专业的话,我认为学vb或Delphi比较适用,上手也快,不过不要刻意的去强调是面向对象的程序设计语言,就当它是到面向对象语言的一个过渡语言吧。
      

  6.   

    我感觉还是选择 清华大学出版社的《Visual C++ 面向对象与可视化程序设计》——黄维通编
    。我感觉这本很不错。
      

  7.   

    同意用java
    但我还是喜欢VB
    方便
    很多时候只是考虑如何实现业务
    至于内部是怎么运行的
    个人认为
    真的不重要