`

标题 : 关于vb.net中的public,private,shared关键字。

阅读更多


vb.net作为广泛应用的,构建在.net上的语言,已经是标准的面向对象的开发语言了。oop的思想在vb.net中得到了很好的体现。在vb.net中有三个关键字,那就是public,private,shared。至于public,private和其他的oop语言没有什么区别,这里说一下shared吧。shared在应用的时候,不会产生一个对象:
You need to create an instance of a class (an object) in order to use instance embers, and even then there may be restrictions (Public can be used by anyone, rivate cannot). Shared methods, on the other hand, are known as class members. These are methods and properties/variables that can be used without actually generating an object. In addition, shared methods can be public or private.
当你在编写程序的过程中,需要重复使用某一部分代码的时候,而同时,你不希望产生这个对象的实例,那么你可以把这个对象中你需要调用的方法声明成为shared类型的,这样就能达到你的满足。也许说到这里,用过vb.net和delphi的朋友会问,那不是有点象interface嘛?感觉是很象,但是却不是同一回事,interface类似一个基类,它里面提供的函数或者过程需要在继承的子类里面来具体实现。而shared声明的关键字则不一样的哦。当然在delphi中似乎也提供了这种方式,以class声明的类函数或者过程和这里的shared有异曲同工之妙了。shared的使用例子,比如一个软件中的数据库的连接字符串吧:
声明如下:
Public Class DatabaseStuff
Public Shared Function GetConnectionString() As String
'具体的实现代码
End Function
End Class
调用:
Dim dbString As String = DatabaseStuff.GetConnectionString()
以上说了shared的优点,但是过多的使用shared,也会带来很多的麻烦,在vb.net中,过多的使用shared的话,将会导致.net无法清理内存中没有使用的对象,原因是在程序中从来没有构建对象的实例,而程序中的调用只是类或者对象的一个方法而已。从这一点来说,shared在一定程度上破坏了oop的继承和封装的思想。所以在使用shared的时候,一定要注意,不要过多的使用即可。

分享到:
评论

相关推荐

    如何:在VB.NET中显示指定文件的图标?

    ### 如何在VB.NET中显示指定文件的图标 在日常的软件开发过程中,经常会遇到需要显示文件图标的需求,尤其是在文件管理器或者与文件操作相关的应用中。然而,Visual Basic .NET(简称VB.NET)本身并没有提供直接...

    VB.NET 调用Windows API 使用方法

    - **Lib与Alias**:当API函数名称不是有效的VB.NET过程名称或与应用程序中其他项名称冲突时,应使用`Alias`关键字。 - **参数类型转换**:通过使用`MarshalAs`属性可以显式控制参数的类型转换。 - **常数使用**:...

    vb.net 系统声音调节

    在VB.NET编程环境中,开发一个能够调整系统声音的应用是一个实用且有趣的项目。这个小例子主要利用了API(应用程序接口)技术来实现这一功能。API是操作系统提供给开发者用于访问操作系统功能的接口,允许程序员调用...

    [VB.NET源码]全局鼠标

    在VB.NET编程中,有时候我们需要实现全局鼠标事件的监听,比如跟踪鼠标的移动、点击等操作,即使鼠标焦点不在我们的应用程序上也能够捕获这些事件。这就是全局鼠标钩子(Global Mouse Hook)的功能。本资源提供了一...

    跨窗体更新VB.NET

    VB.NET中的事件处理机制允许我们定义事件、声明事件处理方法,并通过`RaiseEvent`关键字触发事件。 3. **公共属性和方法**:为了传递数据,可以定义公共属性或方法。例如,创建一个公共变量存储共享信息,或者定义...

    VB.net 读取通过Modbus 读取 信捷 PLC,再通过Bartender打印

    在本文中,我们将深入探讨如何使用VB.NET编程语言与Modbus通信协议来读取信捷PLC(可编程逻辑控制器)的数据,并进一步结合第三方软件Bartender实现标签打印。这是一项涉及工业自动化和软件工程的重要任务,对于制造...

    vb.net遍历全盘文件

    在VB.NET编程环境中,遍历全盘文件是一项常见的任务,特别是在进行文件管理和系统维护时。本文将详细讲解如何实现这个功能,以及如何结合递归、计时和全局变量来优化程序控制。 首先,我们要理解“遍历全盘文件”的...

    VB.NET让窗体的图片变成圆角

    ### VB.NET 让窗体的图片变成圆角 在日常的软件开发中,美观的界面设计对于提升用户体验具有重要作用。...通过以上方法,我们可以在 VB.NET 中轻松地实现窗体的圆角效果,从而提升用户界面的美观度和用户体验。

    vb.net半透明窗体逐渐消失与非矩形窗体

    在VB.NET编程环境中,开发人员有时需要实现一些高级的界面效果来提升用户体验,例如半透明窗体和非矩形窗体。本项目基于@浓情咖啡的原作进行了扩展,添加了一个半透明PNG图片逐渐消失的功能,同时也创建了一个非矩形...

    vb.net面向对象程序设计ppt

    VB.NET中的`Event`关键字定义事件,`Delegate`关键字定义委托。 以上是VB.NET面向对象程序设计的基本概念和关键特性。通过学习和实践这些知识,开发者能够有效地设计和构建模块化、可维护的软件系统。PPT作为教学...

    vb.net自动关机源码

    下面我们将深入探讨如何在VB.NET中实现自动关机功能,以及涉及的相关知识点。 首先,我们要了解VB.NET的基础语法和编程环境。VB.NET是Microsoft .NET Framework的一部分,提供了一种面向对象的编程模型。通过集成...

    VB.net 实现关机注销重启、获取本机的信息

    在VB.NET编程环境中,开发人员经常需要实现对操作系统的一些基本操作,例如关机、注销、重启,以及获取本机的各种信息。这些功能对于系统管理工具、监控应用或者自定义桌面环境来说是至关重要的。下面我们将详细探讨...

    DLL-Injector-In-VB.NET:以VB.NET实作CreateThread做LoadLibraryA远程注入DLL

    在这个特定的项目"DLL-Injector-In-VB.NET"中,我们将探讨如何使用Visual Basic .NET (VB.NET) 实现DLL注入,特别是通过调用Windows API函数`CreateThread`和`LoadLibraryA`来实现。 首先,我们需要了解DLL注入的...

    vb.net 自动关机 带语音提醒

    在VB.NET编程环境中,开发一个自动关机程序可以实现计算机定时自动注销、重启或关机的功能,同时结合语音提醒,可以提高用户体验并确保用户在系统即将执行这些操作时得到及时通知。下面将详细介绍如何实现这一功能。...

    (vb.net)资源管理器,功能强大,使用内置API获取文件图标

    在VB.NET编程环境中,开发一个类似Windows资源管理器的应用程序是一项常见的任务,它允许用户浏览、操作文件和目录。在创建这样的应用时,一个重要的视觉元素是正确地显示各种文件类型的图标,以增强用户体验。本...

    windows关机、重启、注销类 vb.net实现

    首先,让我们了解一下VB.NET中的基本语法和结构。VB.NET是Microsoft .NET框架的一部分,它提供了一种面向对象的编程环境,用于开发桌面应用、Web应用以及服务。要调用操作系统API,我们需要导入`System.Runtime....

    VB.net 屏蔽菜单键(附源工程)

    在VB.NET编程中,有时我们需要实现特定的功能,比如在某些应用程序中防止用户使用特定的系统快捷键,如菜单键(通常为F10)。这种需求通常出现在创建安全软件、游戏或者特殊界面时,以提供更专注的用户体验。本教程...

    vb.NET-write-procedures-transparent.rar_vb.net 效果_vb.net 透明

    在VB.NET编程环境中,透明效果是一种视觉上的设计技巧,它可以使控件或窗口部分或全部变得不那么显眼,让背景内容透过控件可见。这种效果通常用于创建更吸引人的用户界面,提升用户体验。本教程将详细介绍如何在VB...

    VB.NET屏幕分辨率设置源码

    在VB.NET编程中,改变屏幕分辨率是一个涉及到操作系统底层交互的过程,通常需要调用Windows API(应用程序接口)来实现。这个“VB.NET屏幕分辨率设置源码”项目为开发者提供了一个很好的学习示例,它展示了如何使用...

    VB.NET将任意图像文件设置为鼠标形状

    在VB.NET中,将任意图像文件设置为鼠标形状涉及到Windows API的使用,因为.NET Framework本身并不直接支持这种功能。这个过程通常分为几个步骤:加载图像文件、创建自定义光标并将其设置为当前鼠标形状。下面我们将...

Global site tag (gtag.js) - Google Analytics