vb点虐 虚函数 虚函数在程序开发的作用
vb点虐 有没有重构? 重构与重写、重载的区别是什么?请举构。
重构是一种程序结构上的改动,例如添加删除方法、改变参数等。
创新互联服务项目包括江阴网站建设、江阴网站制作、江阴网页制作以及江阴网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,江阴网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到江阴省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
重写、重载则都是指面向对象中的虚函数的多态实现。
.NET2005编程环境中,有个菜单功能支持 C# 的重构。而vb点虐 则需要手动
什么是点虐 程序设计
.NET Framework是新的Microsoft .NET平台的基础结构。
.NET Framework是一个用来建立、配置和运行Web应用程序和Web服务的通用环境。
.NET Framework包含一个通用语言运行环境和通用类库,如ADO .NET,ASP .NET和Windows表单,来提供可以被集成到各种计算机系统的先进的标准服务。
.NET Framework提供功能丰富的应用环境,简化了开发并且使得在多种不同开发语言之间的集成更加容易。
.NET Framework具有语言中立性,目前它支持 C++, C#,Visual Basic和JScript (Microsoft版本的JavaScript)。
Microsoft的Visual Studio.NET是一个用于新的.NET Framework的通用开发环境。
#(读做 "C sharp")是微软公司在去年六月发布的一种新的编程语言,并定于在微软职业开发者论坛(PDC)上登台亮相.C#是微软公司研究员Anders Hejlsberg的最新成果.C#看起来与Java有着惊人的相似;它包括了诸如单一继承,界面,与Java几乎同样的语法,和编译成中间代码再运行的过程.但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司.NET windows网络框架的主角.
微软c#语言定义主要是从C和C++继承而来的,而且语言中的许多元素也反映了这一点.C#在设计者从C++继承的可选选项方面比Java要广泛一些(比如说structs),它还增加了自己新的特点(比方说源代码版本定义).但它还太不成熟,不可能挤垮Java.C#还需要进化成一种开发者能够接受和采用的语言.而微软当前为它的这种新语言大造声势也是值得注意的.目前大家的反应是:"这是对Java的反击."
C#更象Java一些,虽然微软在这个问题上保持沉默.这也是意料中的事情,我觉得,因为Java近来很成功而使用Java的公司都报告说它们在生产效率上比C++获得了提高.
Java所带来的巨大影响和大家对它的广泛接受已经由工作于这种语言和平台之上的程序员数量明显的说明了(估计世界范围内共有两百五十万程序员使用Java).由这种语言写成的应用程序的数量是令人惊讶的并已经渗透了每一个级别的计算,包括无线计算和移动电话(比如日本发明的Java电话).C#能够在用户领域获得这样的礼遇吗?我们必须等待并观望,就象已经由SSI公司的CEO和主席Kalpathi S. Suresh指出来的那样,"我发现所有这些都是渐进的.如果C#不存在,我们总能回到Java或C和C++.这些都不完全是新技术;它们在更大的意义上来说只是大公司制造的市场噱头.我们必须给他们时间安顿下来看看这些是不是真的对IT工业有什么影响."
C++,这个词在中国大陆的程序员圈子中通常被读做“C加加”,而西方的程序员通常读做“C plus plus”,它是一种使用非常广泛的计算机编程语言。C++是一种静态数据类型检查的,支持多重编程范式的通用程序设计语言。它支持过程序程序设计、数据抽象、面向对象程序设计、泛型程序设计等多种程序设计风格。
贝尔实验室的本贾尼·斯特劳斯特卢普(w:en:Bjarne Stroustrup)博士在20世纪80年代发明并实现了C++(最初这种语言被称作“C with Classes”)。一开始C++是作为C语言的增强版出现的,从给C语言增加类开始,不断的增加新特性。虚函数(virtual function)、运算符重载(operator overloading)、多重继承(multiple inheritance)、模板(template)、异常(exception)、RTTI、名字空间(name space)逐渐被加入标准。1998年国际标准组织(ISO)颁布了C++程序设计语言的国际标准ISO/IEC 14882-1998。遗憾的是,由于C++语言过于复杂,以及他经历了长年的演变,直到现在(2004年)只有少数几个编译器完全符合这个标准。
另外,就目前学习C++而言,可以认为他是一门独立的语言;他并不依赖C语言,我们可以完全不学C语言,而直接学习C++。根据《C++编程思想》(Thinking in C++)一书所评述的,C++与C的效率往往相差在正负5%之间。所以有人认为在大多数场合C++ 完全可以取代C语言。
C++语言发展大概可以分为三个阶段:第一阶段从80年代到1995年。这一阶段C++语言基本上是传统类型上的面向对象语言,并且凭借着接近C语言的效率,在工业界使用的开发语言中占据了相当大份额;第二阶段从1995年到2000年,这一阶段由于标准模板库(STL)和后来的Boost等程序库的出现,泛型程序设计在C++中占据了越来越多的比重性。当然,同时由于Java、C#等语言的出现和硬件价格的大规模下降,C++受到了一定的冲击;第三阶段从2000年至今,由于以Loki、MPL等程序库为代表的产生式编程和模板元编程的出现,C++出现了发展历史上又一个新的高峰,这些新技术的出现以及和原有技术的融合,使C++已经成为当今主流程序设计语言中最复杂的一员。
VB.NET和C#逐层横向对比[2]
//函数层
VB支持局部Static变量
C#不支持
VB支持数组的最后一唯大小可变
C#的数组大小不能改变
VB的Try Catch语句支持Exit Try直接进入Finally
C#无类似语句
VB的Catch可以带When子句 使用 NET的异常filter功能有选择的进行捕获
C#完全不支持这一功能
VB可以使用传统的On Error方法 非结构化地处理异常C#仅支持结构化
C#支持使用checked语句暂时打开或关闭整数溢出检查
VB仅支持整个项目级别处理
VB支持使用函数名作为返回变量 也支持Return
C#只支持Return
VB的Try Using For For Each等语句支持使用前边定义的变量
C#的对应语句只能在语句开始处定义
C#可以支持unsafe语法有限地支持指针和stack数据的访问
VB不支持
C#支持yield return语法的迭代器生成
VB不支持
C#支持delegate语句就地生成支持closure的匿名方法
VB不支持
C#支持在委托与方法结合的过程中使用协变和反边规则
VB则只能使用完全匹配规则
VB和C#的循环和分支有若干次要差别
C#支持nullable类型的运算符跨类型支持
VB需要手工完成同样功能
VB支持用实例访问类的静态成员
C#只支持类明访问
VB支持按照非虚函数的规则 调用自身类型定义的一个虚函数
C#不支持这一功能
类库层
VB有一个非常好用Microsoft VisualBasic dll 实现了许多帮助函数 Application Framework应用程序框架 My命名空间等C#只能望眼欲穿了……
C#以out/ref或者大小写区分不同函数 这就是不符合CLS的
VB的每个特性几乎都是CLS兼容的(即使是那些C#不支持的) 在VB中使用不会从根本上影响到与C#的交互
lishixinzhi/Article/program/net/201311/15508
网站栏目:vb点虐 虚函数 虚函数在程序开发的作用
文章来源:http://azwzsj.com/article/ddgocco.html