iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >VB.NET对象克隆的主要思想是什么
  • 185
分享到

VB.NET对象克隆的主要思想是什么

2023-06-17 17:06:30 185人浏览 安东尼
摘要

VB.NET对象克隆的主要思想是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。VB.net编程语言中对对象的操作是比较重要的一个操作技巧,对于一个具有面向对

VB.NET对象克隆的主要思想是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

VB.net编程语言中对对象的操作是比较重要的一个操作技巧,对于一个具有面向对象特性的编程语言,我们要想彻底掌握这一语言的应用,就应当把这些特性把握好。在这里就先来一起了解一下VB.NET对象克隆的一些基本概念。

3DMAX里面,做好一个物体(父物体)以后,可以选择Edit菜单中的Clone,下面有三中选项:Copy(生成一个同模样的子物体,两者的操作互不影响),Instance(父子互动,父物体的操作同样影响子物体,子物体也一样),还有一个Reference(暂不考虑)。

在VB.NET,同样会碰到这样的问题。创建一个复杂对象(可能有很多种不同的数据类型)的实例,进行了一系列操作之后,想让一个中间变量或几个(另外的实例)保存它的状态,我们一般采取逐个变量赋值,有时候会写很长的代码:)这实际上就是上述的Copy问题。而对于Instance,很简单,新建一个实例,指向一下就可以了:

Dim objA As New CResume ‘Cresume

是一个自定义的记录简历信息的类

然后进行初始化,比如:

objA.Name=”AAA”  objA.Address=”Shanghai,China”  ……  Dim objB As New CResume ‘新建一个实例  objB=objA

这样的话,objB跟objA有相同状态,值得注意的是objB改变一个Name,比如:

objB.Name=”BBB”

而实际上,objA的Name也变为“BBB”,理由很简单。它们指向同一块内存空间。

  • VB.NET结构变量的具体操作技巧分享

  • VB.NET创建新变量技巧分享

  • VB.NET固定值变量常用创建方法浅谈

  • VB.NET创建数组正确实现方法浅谈

  • VB.NET初始化数组变量实现技巧分享

下面我们重点讨论对象的Clone问题,即Copy以后的各个对象互不影响,关键是如何采用简单的方法解决我们的问题,MemoryStream和BinFORMatter配合一下可以很简单的实现VB.NET对象克隆。

MemoryStream,我以前提到过,是支持存储区为内存的流。

BinFormatter,主要以二进制形式序列化和反序列化对象。

主要思路:

先用BinFormatter的Serialize方法,把对象存储在MemoryStream流中,(操作跟其他Stream一样),然后Deserialize反序列化,得到一个流式的数据,转化为原来对象的类型就可以了。是不是很简单?呵呵。看一下代码再说:

CResume类的代码:

Imports System.io  Imports System.Runtime.Serialization.Formatters  < Serializable()> Public Class CResume   &lsquo;注意类前面加上Serializable()属性,否则不可以序列化  Dim m_Name As String '姓名  Dim m_Address As String '地址  Public Property Address() As String  Get  Return m_Address  End Get  Set(ByVal NewAddress As String)  m_Address = NewAddress End Set  End Property  Public Property Name() As String   Get  Return m_Name  End Get  Set(ByVal NewName As String)  m_Name = NewName End Set  End Property  Public Function Clone() As CResume  Dim BF As New Binary.BinaryFormatter()  Dim MS As New MemoryStream()  BF.Serialize(MS, Me)  MS.Position = 0 Return (CType(BF.Deserialize(MS), CResume))  End Function  End Class

在Form里面可以这样调用

Dim Resume1 As New CResume()  Dim Resume2 As New CResume()  Resume1.Name = "AAA" Resume1.Address = "office:smarttags" />Shanghai,China"  Resume2 = Resume1.Clone()  Resume1.Name = "BBB" Resume1.Address = "Beijing,China" Debug.WriteLine(Resume1.Name) &lsquo;依然是AAA  Debug.WriteLine(Resume1.Address)

总结:主要调用了VB.NET的流和序列化技术,使得VB.NET对象克隆免去了繁琐的读写操作,也简化了代码。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注编程网精选频道,感谢您对编程网的支持。

--结束END--

本文标题: VB.NET对象克隆的主要思想是什么

本文链接: https://www.lsjlt.com/news/291087.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • VB.NET对象克隆的主要思想是什么
    VB.NET对象克隆的主要思想是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。VB.NET编程语言中对对象的操作是比较重要的一个操作技巧,对于一个具有面向对...
    99+
    2023-06-17
  • VB.NET中怎么实现对象克隆
    VB.NET中怎么实现对象克隆,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。在3DMAX里面,做好一个物体(父物体)以后,可以选择Edit菜单中的Clone,下面有三中选项...
    99+
    2023-06-17
  • Java克隆对象的特性是什么
    本篇内容介绍了“Java克隆对象的特性是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在java面向对象的编程当中,要复制引用类型的对象...
    99+
    2023-06-17
  • Java引用对象深度克隆的方法是什么
    在Java中,要实现对象的深度克隆,你可以使用以下方法之一:1. 实现`Cloneable`接口并重写`clone()`方法:```...
    99+
    2023-09-27
    Java
  • 什么是js面向对象编程思想
    什么是js面向对象编程思想,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。随着像Node.js这类技术的出现,你现在可以在服务器...
    99+
    2024-04-02
  • mac克隆指的是什么
    本文小编为大家详细介绍“mac克隆指的是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“mac克隆指的是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。mac克隆全称mac地址克隆,是固化在网卡上串行EEP...
    99+
    2023-07-05
  • Cloneable接口的作用、深克隆与浅克隆是什么
    Cloneable接口的作用是在对象进行克隆操作时提供一个标识,即表明该对象是可克隆的。Cloneable接口是一个标记接口,没有定...
    99+
    2023-10-23
    Cloneable
  • VB.NET对象生命周期是什么
    这篇文章主要讲解了“VB.NET对象生命周期是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“VB.NET对象生命周期是什么”吧!VB.NET具有面向对象语言的一切特征,并其还为程序员带来...
    99+
    2023-06-17
  • java克隆实体类的方法是什么
    在Java中,要克隆一个实体类对象,可以使用以下三种方法:1. 实现Cloneable接口并重写clone()方法:Cloneabl...
    99+
    2023-08-18
    java
  • javascript的对象是什么意思
    这篇文章主要讲解了“javascript的对象是什么意思”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“javascript的对象是什么意思”吧! ...
    99+
    2024-04-02
  • VB.NET对象浏览器的作用是什么
    这篇文章将为大家详细讲解有关VB.NET对象浏览器的作用是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。VB.NET对象浏览器可以使用户通过一些组件(components)校验和发现一些...
    99+
    2023-06-17
  • JScript对象是什么意思
    这篇文章给大家分享的是有关JScript对象是什么意思的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Jscript 对象是属性和方法的集合。一个方法就是一个函数,是对象的成员。属性是一个值或一组值(以数组或对象的...
    99+
    2023-06-03
  • jquery对象是什么意思
    这篇文章主要介绍了jquery对象是什么意思,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 在jquery中,j...
    99+
    2024-04-02
  • js对象指的是什么意思
    这篇文章将为大家详细讲解有关js对象指的是什么意思,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。JavaScript的特点1.JavaScript主要用来向HTML页面添加交互行为。2.JavaScrip...
    99+
    2023-06-14
  • AOP.NET DataAdapter对象是什么意思
    这篇文章给大家分享的是有关AOP.NET DataAdapter对象是什么意思的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。AOP.NET DataAdapter对象表示一组数据命令和一个数据库连接,用于填充Da...
    99+
    2023-06-17
  • jspXCMS中Special对象是什么意思
    这篇文章给大家分享的是有关jspXCMS中Special对象是什么意思的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。专题对象。类名:com.jspxcms.core.domain.Special。customs:...
    99+
    2023-06-26
  • php面向对象指的是什么意思
    这篇文章主要为大家展示了“php面向对象指的是什么意思”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“php面向对象指的是什么意思”这篇文章吧。在php中,面向对象就是将要处理的问题抽象为对象,然...
    99+
    2023-06-20
  • javascript中事件对象是什么意思
    这篇文章给大家分享的是有关javascript中事件对象是什么意思的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 在javascript中,事件对象(...
    99+
    2024-04-02
  • 面向对象编程是什么意思
    面向对象编程是一种编码设计,它使用数据来表示一组指令。它是一种具有对象概念的程序编程典范,同时也是一种程序开发的抽象方针。它由描述状态的属性和用来实现对象行为的方法组成,完成了从数据模型到处理模型的结合与统一。什么是面向对象编程?面向对象编...
    99+
    2023-07-17
  • VB6和VB.NET在创建类和VB.NET对象的有什么变化
    小编给大家分享一下VB6和VB.NET在创建类和VB.NET对象的有什么变化,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!VB.NET对象的终止在VB6中对象是在...
    99+
    2023-06-17
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作