| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 460 人关注过本帖
标题:我一直认为各种语言编辑器的基础架构都一样
只看楼主 加入收藏
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1820
专家分:3681
注 册:2011-3-24
结帖率:97.66%
收藏
已结贴  问题点数:20 回复次数:6 
我一直认为各种语言编辑器的基础架构都一样
就VB来说底层架构难道不是很多类的组合吗?
就MFC来说不也是~就.NET来说也是~
全部都是类的组成~只是差在呈现方式不同~
使用方式不同各compile所制定的规范不同~
而基础却都是一样的~我这样的理解有问题吗?

如果是~那只要学会一种源码就等于学会各种源码~
不是吗?

我很迷惑~
对VB来说~BUTTON不是一个已被订好的类吗?
对MFC来说~BUTTON不是也是一个已被订好的类吗?

差别只在于~VB的BUTTON无法使用正常方式改变它的属性~
而MFC的只给你基本的BUTTON属性~其余的要靠你自己实现~
套用此模式。NET中不也是这样吗?套用此模式所有控制项不都是这样吗?

当然不止的VB~MFC~.NET~甚至VBA~VC++~等~
所有代码不都是一样的吗?我这样的理解有错吗?

全部都是类的组合~
我们要学的~只是怎么在特定的编译器中~依照制定好的规范去使用类而已~
是这样的吗?
搜索更多相关主题的帖子: 基础 编辑器 
2012-05-07 11:38
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4943
专家分:30067
注 册:2008-10-15
收藏
得分:10 
编程语言的发展,为是了 更好的实现编程,更好的让程序健壮 。
高级编程语言,使用 类,就是从实现这些方面入手。
黑箱原则。把所需要的功能封装到类里,使用者不需要知道 内部代码,只需要知道 如何调用就是了。

越原始的语言(相对现在的高级语言),如 QBASCI,TC2.0,BC++ 3.0 , 这种的编程语言,是面对过程的编程语言
也许有一些支持类,但对类支持还是比较弱的,很多时候代码还是基于 过程。
-------------------
对于VB6来说,VB6只是部分支持类,这个是操作系统要求的。VB6,代码还是很多时候支持面向过程,如标准 BAS 模块,这个就是一个 面向过程的 代码文件
与类根本不搭架的。
--------------------
相反,JAVA语言,功能强,跨平台使用,它的代码就完全基于 类,执行效率十分低下。
--------------------
对于同个编译器来说:
短小,效率越高的程序,越不是使用类来写,
程序庸肿、效率越低的程序,越是大量使用类,并且功能越强。
-------------------
需要让代码 辩读性好,团队合作,修改性好,那就用类写吧。
如果这个代码,只需要做一遍,也只需自己看懂就是了,那就你用过程写吧。
-------------------
只是我自己粗浅的看法。

授人于鱼,不如授人于渔
早已停用QQ了
2012-05-07 15:35
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:10 
就VB来说底层架构难道不是很多类的组合吗?
就MFC来说不也是~就.NET来说也是~
全部都是类的组成~只是差在呈现方式不同~
使用方式不同各compile所制定的规范不同~
而基础却都是一样的~我这样的理解有问题吗?

如果是~那只要学会一种源码就等于学会各种源码~
不是吗?

我虽然不懂 但值得面向对象也就是类的实现方法有好多 API的封装方法也很多

所以 虽然 就VB来说底层架构难道不是很多类的组合吗? 但是具体的差别可能很大 肯定不能学会一种其他都会。。。


VB6只是部分支持类,这个是操作系统要求的

不明白、、、

2012-05-07 15:47
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4943
专家分:30067
注 册:2008-10-15
收藏
得分:0 
VB6 写的 源代码,我看过国外的少数几个源代码,都是用类写的。
但我写的源代码,基本上都不是用类写的,我习惯了用 面向过程的写法,有些时候用用 系统自带的类而以。

VB6 源代码,有很多 类 的组合,但VB6不支持 类 的重载 这种应用。所以只能说VB6部分支持类。
VB6中的对象就是一个一个的类,包括窗体、控件(内置、外置)、对象(工程引用),这些都是类,
但VB6中有一个功能,就是 模块文件(*.BAS),这个文件纯粹就是一个面向过程的代码文件,不是类。
VC6我不知道,如果换成 TC2.0 来说,
这个 BAS 里写的代码就相当于在 .C 里的写代码,使用 PUCLIC 定义的变量,就是定义的全局变量,我不知道VC6里有没有全局变量,TC2.0 里有。
-------------------------
我看过一句话,
要学会VC6 ,那就学会 MFC,想精通VC6 ,那就不要使用 MFC 。

授人于鱼,不如授人于渔
早已停用QQ了
2012-05-07 16:36
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1820
专家分:3681
注 册:2011-3-24
收藏
得分:0 
一开始我也是从面向过程编程开始~慢慢的发现类可以做功能性封装~
有助于程序开发效率~于是渐渐的越来越大量的使用类或类事件或多层子类~
感觉“几乎”等于MFC中的类继承概念了~当然还是有不一样的地方~
我还曾看过有VB6的程式码使用类集合的方式实现目的~
公司里也有使用类改變控件原本的屬性~创建一个空容器后使用类去赋予这个容器新的面貌(生命)~
VB6的强大~有时让我感觉我干麻还需要花时间学习其他语言?

所以我才会觉得从某个角度来说好像一样~只是个人感觉~也许是我对VB的了解还不够~
从片面看全面~所以才造成误解~

我并没说完全一样只是觉得~学习VB或学习其他语言~
也许不需要分的那么清楚~只需要知道各语言之间的差别~
其他相似雷同之处~其实学一次就可以通用了~

再说到了.NET后让我更加觉得~也许有了.NET这个框架后~VB和VC的距离好像又近多了~

好比想吃饭~
我可以选择用筷子吃~也可以选择用汤匙吃~也可以选择用叉子吃~
动作都一样~都是把食物放到嘴巴里~目的也一样~都是为了要吃饱~
只是使用的工具不一样而已~
用什么工具吃~就像选择使用什么语言达成目的~而动作不就是类的实现吗?
不好意思~很烂的比喻~只是单纯表达一下个人的想法而已~

不要選我當版主
2012-05-07 18:27
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1820
专家分:3681
注 册:2011-3-24
收藏
得分:0 
以下是引用风吹过b在2012-5-7 16:36:49的发言:

VB6 写的 源代码,我看过国外的少数几个源代码,都是用类写的。
但我写的源代码,基本上都不是用类写的,我习惯了用 面向过程的写法,有些时候用用 系统自带的类而以。

VB6 源代码,有很多 类 的组合,但VB6不支持 类 的重载 这种应用。所以只能说VB6部分支持类。
VB6中的对象就是一个一个的类,包括窗体、控件(内置、外置)、对象(工程引用),这些都是类,
但VB6中有一个功能,就是 模块文件(*.BAS),这个文件纯粹就是一个面向过程的代码文件,不是类。
VC6我不知道,如果换成 TC2.0 来说,
这个 BAS 里写的代码就相当于在 .C 里的写代码,使用 PUCLIC 定义的变量,就是定义的全局变量,我不知道VC6里有没有全局变量,TC2.0 里有。
-------------------------
我看过一句话,
要学会VC6 ,那就学会 MFC,想精通VC6 ,那就不要使用 MFC 。


VC6当然也有全局变量的使用方式。透过*.H档

不要選我當版主
2012-05-07 18:29
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4943
专家分:30067
注 册:2008-10-15
收藏
得分:0 
VB6是兼容的产物,VB6 语法什么向下兼容,甚至能部分兼容 Qbasic ,所以造成 VB6 是一个混和的产物

类,就是符合 黑箱原则(好像 也叫黑盒原则),是为了 方便 程序编写,为了程序健壮而逐渐发展起来的,
  类,也就是一个一个的对象,做好这些对象,然后就像搭积木一起的,搭起来就是了。
类里面的数据,过程,都是私有的(除下接口,或特意做的公有的),在外部不会被修改到,也就杜绝了程序无意中修改数据隐患的产生 。
所以,类,使用的越来越多了,越来越广。

,是一个全新的语言,语句定义仿照 VB6 语言,但内部,架构全部变掉了。我没用过
不知道 可不可以开发 W32的程序,不是运行在 .net 平台下的。

--------------------
*.H 头文件,这个,我记下了。谢。

授人于鱼,不如授人于渔
早已停用QQ了
2012-05-07 18:44
快速回复:我一直认为各种语言编辑器的基础架构都一样
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015422 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved