1. 重载和重写有什么区别?
    答:重载与重写最重要的区别在于重载要求方法签名不同,而重写的方法签名是相同的。另外,重载在派生类中要使用Overloads关键字;重写在基类中要使用Mustoverride或Overridable关键字,在派生类中要使用Overrides关键字。

  2. 类应该在什么位置创建?
    答:根据实际的需要类可以放在任何位置,可以是窗体的类框架内,单独的模块文件内,也可以放在单独的文件中,如果需要创建类库也可以放在单独的项目中。

  3. 怎样建立事件源与事件处理过程的关联?
    答:可以通过两种方式建立这种关联。一种是使用WithEvents关键字声明对象,然后再使用Handles子句将事件处理过程与事件源相关联,这种关联是在设计时确定的;另外一种关联是使用AddHandler和AddressOf子句,要处理的对象事件放在AddHandler后面,对应的事件处理过程放在AddressOf后面,这种关联可在程序运行时,动态建立关联,较为灵活。

  4. 与事件源相关联的事件处理过程的名称是否必须要与对象的事件名称保持一致?
    答:这不是必须的。实际上只要使用了WithEvents,Handles子句;或者AddHandler,AddressOf子句就可以将任何名称的过程与事件源相关联,也就是说事件处理过程本身的名称并不重要。但是,为了增强可读性,一般在代码编辑器中,如果通过选择对象和事件的方式建立事件源于事件处理过程的关联时,就会自动保持名称的一致,把对象名称和事件名称中间通过下划线连接来作为事件处理过程的名称。

  5. Visual Basic.NET中可以实现多继承吗?
    答:不可以。Visual Basic.NET不支持多继承,任何一个类最多只能有一个父类。但是,可以通过接口来实现类似的功能。

  6. 只要进行重载就需要添加Overloads关键字吗?
    答:不是的。如果在某个类中有关于一个同名方法的重载时可以省略Overloads关键字,但是如果在其中一个重载方法中添加了Overloads关键字,那么其他的重载方法也必须添加Overloads关键字。但是,如果在派生类中重载了基类中的方法时,必须添加Overloads关键字。

  7. 如何在派生类中调用基类中的方法?
    答:要想在派生类中调用基类中的方法,就需要使用MyBase关键字。通过“MyBase.”加对应的方法名称及所需参数即可。

  8. 如果函数过程只是返回值类型不同,能够进行重载吗?
    答:不能。方法能否被重载只取决于参数的类型、数量和顺序上是否存在差异。如果存在不同,就可以进行重载;否则,不可以进行重载。它与是否方法具有返回值毫无关系,所以仅仅依靠返回值类型的不同来进行重载是不能实现的。

  9. 哪种实现多态的方式相对而言不是很理想,最好少用?
    答:相对而言,后期绑定的方式实现多态的性能会差一些,因为它需要在执行过程中将Object类型的对象转换为特定的类型对象,会多消耗时间;另外如果在执行过程中指定的对象并不是有效的对象时,就会发生异常。因此,如果有其他的替代方法,最好不要采用后期绑定的方式实现多态。

  10. 为了共享某个类的某些方法、属性或事件,就可以使用继承吗?
    答:不一定。是否使用继承与两个类的关系有关。如果其中一个类是另一个类的进一步的特殊化或者说一个类可以作为另一个类的子类,在原有类的继承上又有了自己的一些不同之处时,可以使用继承来共享某些方法、属性或事件。如果不满足这个关系,又想进行共享的话,最好采用接口来实现。

【VB.NET】VB.NET面向对象技术问题的解答相关推荐

  1. VB访问SQL Server数据库技术全揭密

    VB访问SQL Server数据库技术全揭密 2006-08-03 05:00作者:出处:电子技术责任编辑:方舟 摘 要: 本文讨论了Visual Basic应用程序访问SQL Server数据库的几 ...

  2. 基于dde的vb和matlab,基于DDE技术的组态王和VB的通信

    电子质量(2013 第 02 期) 基于DDE技术的组态王和VB 的通信 基于 DDE 技术的组态王和 VB 的通信 Communication between KingViewand VB Base ...

  3. VB 共享软件防破解设计技术初探(三)

    VB 共享软件防破解设计技术初探(三) ×××××××××××××××××××××××××××××××××××××××××××××× 其他文章快速链接: VB 共享软件防破解设计技术初探(一) htt ...

  4. VB和VB.NET的大致区别

    Visual Basic .NET是Microsoft Visual Studio .NET套件中主要组成部分之一..NET版本的Visual Basic增加了更多特性,而且演化为完全面向对象(就像C ...

  5. VB与VB.NET的区别

    刚刚接触VB.NET时,心中一直有一个问号--VB和VB.NET究竟有什么区别呢?经过初步学习后,我觉得可以通过以下五个VB.NET的主要特点来了解VB和VB.NET的区别. 一.VB.NET有两种新 ...

  6. VB与VB.NET区别

    相似 当你对一件事情好奇的时候就说明你的求知欲是你最旺盛的时候,也是你效率最高的时候,为啥写这样一篇博客,因为被欺骗的太痛苦了,告诉我VB与VB.NET很相似没有什么难的,然后我就愉快的学习去了,当我 ...

  7. 《C#精彩实例教程》小组阅读12 -- C#面向对象技术高级应用

    本微信图文详细介绍了C#面向对象技术高级应用.

  8. 编程学习笔记(第一篇)面向对象技术高级课程:绪论-软件开发方法的演化与最新趋势(1)...

    软件工程的课程,对于从事大中型的软件开发是至关重要的一门课程. <面向对象技术高级课程>深入.系统.完整地讲解当今主流的面向对象软件开发方法的分析.设计.实现及重构方法,深入讲解UML语言 ...

  9. vb和vb.net事件机制

    学习java事件前,回顾了下vb6和vb.net的事件机制,总结在这里,供对比用. 事件是面对对象中对象间通信的方法.事件发生者(又叫事件源)发生一个事件时,通过发送一条消息,给事件接受者(事件处理者 ...

最新文章

  1. readline停止后怎么重新开始_2021,离婚后人生重新开始
  2. hihoCoder挑战赛29
  3. 使用李天平代码生成器中分页存储过程的问题
  4. Linux的unlink
  5. C++封装、继承、多态
  6. 事务是什么?事务的4个特点(ACID),事务的开启与结束
  7. java框架_这篇让你吃透Java集合框架!
  8. 三元运算符最终结果的数据类型
  9. android 修改系统字体后app崩溃,android 应用在切换系统字体大小和语言时,应用崩溃问题...
  10. mysql最左前缀原则学习笔记,in也可以走索引
  11. 双十一数码好物指南,双十一不踩坑推荐
  12. 从头开始训练一个词性标注模型
  13. 通往古埃及文明的钥匙 ———— 罗塞塔石碑
  14. 烽火HG680-LC/HG680-LY/HG680-LV_S905L3B_当贝桌面-通刷-线刷固件包
  15. Maven - Error:java: Annotation processing is not supported for module cycles. Please ensure that all
  16. 软银拿下Uber15%股份,滴滴在背后笑了
  17. 表格 树形结构 HTML CSS,基于jQuery ztree实现表格风格的树状结构
  18. C之奇淫技巧——宏的妙用
  19. 人生还有四件大事不能糊涂
  20. 基于FPGA的永磁同步伺服控制系统的设计,在FPGA实现了伺服电机的矢量控制, 坐标变换,电流环,速度环

热门文章

  1. ES6中object对象属性
  2. View Flash AS3 and AVM2
  3. 迭代子模式(Iterator)
  4. 蓝桥杯第七届决赛JAVA真题----广场舞
  5. linux部署redis详细步骤
  6. Apache Kylin原理学习之Cube的创建与Build
  7. tablueau地图标记圆形_R语言在线地图神器:Leaflet for R包(三) 符号标记
  8. pandas 合并所有列_Python学习:Pandas库+练习资料
  9. 鸿蒙os芯片,没有了芯片,华为能靠鸿蒙OS系统打出差异化吗?
  10. 微信小程序简介、发展史、小程序的优点、申请账号、开发工具、初识wxml文件和wxss文件