当前位置: 首页 > news >正文

wto最新新闻青岛网络优化厂家

wto最新新闻,青岛网络优化厂家,做本地地旅游网站,做传媒网站公司写在之前(吐槽) 最近由于变化了一些工作方向,开始需要使用matlab进行开发,哎哟喂,matlab使用的我想吐,那个matlab编辑器又没代码提示,又没彩色,我只好用vscode进行代码编辑&#xf…

写在之前(吐槽)

最近由于变化了一些工作方向,开始需要使用matlab进行开发,哎哟喂,matlab使用的我想吐,那个matlab编辑器又没代码提示,又没彩色,我只好用vscode进行代码编辑,然后使用matlab软件运行,我的评价是,想吐,但是没法,学术上算法好像都是matlab跑的,所以到底图啥呢,不理解。

matlab类

如同其他类一样,类都是面向对象的产物包括python java 以及C++,都会有类的一些定义,有很多东西在不同的语言条件下是不一样的,这些包括什么私有属性和公有属性,以及构造函数,还有继承啊,父类子类巴拉巴拉的,需要进行一番查询,这里蛮推荐gpt干这一类事情的,因为真的很方便,在网上找相关的资料,有些要么就是一坨讲不清楚,有些讲的很好但是针对你想问的一些问题并不能很好的解答,所以大大增加了一些学习成本,如我在gpt里面问
在这里插入图片描述
他会很好的解答你,如何并回答,你有什么问题也会解答你。但是,终归还是有但是,他有些东西是有错误的,你必须要自己去修改,如下所述就是一个

handle类和value类的区别

我在写代码的时候遇到这样一个情况,下面一段代码如下

classdef MyClasspropertiesmyPropertyendmethodsfunction obj = MyClass(initialValue)% 构造函数,初始化属性值obj.myProperty = initialValue;endfunction modifyProperty(obj, newValue)% 在类方法中修改属性值obj.myProperty = newValue;endend
end

有这样一段代码,我定义了一个MyClass的类,然后里面有个myProperty的属性,我在构造函数里面初始化了这个值,需要在下面的modifyProperty方法里面去修改值,如这样

myObject = MyClass(42); % 创建对象并初始化属性为 42
disp(myObject.myProperty); % 显示属性的值myObject.modifyProperty(100); % 在类方法中修改属性的值
disp(myObject.myProperty); % 显示修改后的属性值

对于其他的面向对象语言来说,这是非常直觉的,我直接修改即可了,但是在这一段代码里你会发现,握草修改不成功,很离谱(我目前使用的版本是2020不排除以后matlab进行修改的可能性)

经过一番查询,我发现一些端倪,有一个value类和一个handle类的说法,如果你在这里定义类的时候继承了handle类,如下

classdef MyClass < handle

就会非常神奇的发现,他修改成功了,amazing!
那matlab的handle类和value类有什么区别呢,在于拷贝的区别。

handle 类

  • handle 类的对象是通过引用传递的。这意味着当你将一个 handle 类的对象赋值给另一个变量时,实际上只是创建了一个指向相同对象的新引用,而不是复制对象本身。
  • 修改一个 handle 类的对象将影响所有指向该对象的引用,因为它们共享相同的对象。
  • handle 类适用于需要在不同地方共享和修改相同对象的情况,例如在多个函数之间传递和修改对象。

value 类

  • value 类的对象是通过值传递的。这意味着当你将一个 value 类的对象赋值给另一个变量时,实际上创建了该对象的一个独立副本,而不是共享相同的对象。
  • 修改一个 value 类的对象不会影响其他对象的值,因为它们都有自己的独立副本。
  • value 类适用于需要创建和维护独立副本的情况,以避免不同部分的代码共享相同的数据。

其实学过c语言的人对这个概念就感觉不会很陌生,这不就是一个是复制值进去,一个是复制指针进去吗,在python里也一样一个是浅复制,一个是深复制而已,的确如此。
他的复制值导致的一个问题就是在于我们在下面的那个myObject.modifyProperty方法里面修改的obj.myProperty 并不是真正你在类定义里面的那个地址的值,而是复制过去的新地址的同样值所以导致你在该方法中赋值是有效的,一旦超过那个域你就会发现修改是无效的。
而且在matlab中,如果你不进行继承handle这一步操作的话,直接定义一个类,他默认是继承value类,这就导致你用的都是**“浅复制”**。

这也就是无法修改类属性值的根本原因(奇怪的知识又增加了hhhh)
这篇博客的老哥写的也非常清楚,大家可以参考一下https://blog.csdn.net/qq_43157190/article/details/104101122

http://www.hotlads.com/news/1360.html

相关文章:

  • 北京响应式网站开发最新热点新闻事件素材
  • 包头市住房和城乡建设局网站百度一下你就知道了百度一下
  • Java怎么做网站密码免费外链平台
  • 网站做直播个人怎么在百度上打广告
  • wordpress 实时预览seo零基础入门到精通200讲
  • 国外炫酷网站欣赏搜索引擎营销例子
  • 本地数据库搭建网站四川旅游seo整站优化
  • 网站后台语言广告设计网站
  • 大众点评怎么做团购网站太原网站关键词排名
  • 网站免费的有没有seo优化技术招聘
  • 域名申请要多久广州aso优化
  • 浙江五联建设有限公司网站软文发稿公司
  • 网站费用百度搜索关键词规则
  • 自己用dw做网站能加声音吗西安疫情最新数据
  • 网站建设要多少钱品牌友情链接发布平台
  • 我想自己做网站可以赚钱百度推广的优势
  • 南通门户网站建设方案社群营销
  • 电脑做网站教学如何进行网络营销策划
  • 阿里云重新备案注销主体还是注销网站职业培训机构哪家最好
  • 做网站和app有什么区别宁波seo外包服务商
  • 漫画做视频在线观看网站互站网
  • 台州外贸网站建设微博推广费用
  • 五里桥街道网站建设有哪些营销推广方式
  • html代码hr表示什么seo com
  • 网站二级目录怎么做301b站官方推广
  • 设计师找灵感的网站网站排名优化公司
  • 如何构建网站平台贵州seo推广
  • 网站建设完工确认书济南网站设计
  • 建筑企业网站要简约大气吗保定关键词排名推广
  • 双语网站模板下载专门看网站的浏览器