请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

tempShop有必要使用吗?使用shop不影响函数功能

https://img1.sycdn.imooc.com//szimg/5b0560fa0001d30b09140483.jpg

您特地提了这里使用shop,由此提问。(7分40秒左右)

引用数据类型指向的不都是堆上实例(对象)?

那这里不可以只使用shop吗?


另外,还想请教一个低级问题,对象和实例可以画等号吗?

正在回答 回答被采纳积分+3

2回答

翔仔 2018-05-24 00:09:11

同学好,这个可以站在业务的角度上理解就好理解了,tempshop是我们取出的原先数据库里的数据,也就是未修改前的数据,这里我们编辑店铺的时候,如果图片被改动,那么我们需要删除原先的图片,所以这里我们先要获得原先图片的路径,这里为了方便,我们先获取原来店铺的信息,然后拿到原来图片的路径并删除原来的图片,之后再将新传进来的店铺信息更新到数据库中。如果我们用同一个shop,那么我们新传进来的信息就被原来取出来的值覆盖,那么原来的信息就没有改变,反而是原来的图片被删除了。同学可以好好理解一下这段逻辑:)

对象和实例的话是针对不同角度来描述的,这两个部分确实定义不是很清楚,有时候可以用来相互表示,严格来讲的话,对象是客观存在的,我们提取对象的部分特征,用程序语言描述出一个具有这些特征的结构体,称其为一个实例。

0 回复 有任何疑惑可以回复我~
丶远走高飞 2018-05-23 21:09:51

同学,我发表下我的看法, 这里的shop和tempshop 不是一个对象,所以目的不同。

传入的shop 里面是带有参数的,比如是带有图片地址的。

而我们需要通过这个shop的id来查询出以前的shop,即图中的tempshop,而这样才能查询到以前shop中图片的信息,然后把图片给删除掉。

然后再调用addShopImg 方法 添加现有的图片信息

0 回复 有任何疑惑可以回复我~
  • 提问者 yikemi #1
    你的观点是它们指向的不是堆上的同一个实例么?
    我的观点是指向的是同一个对象,所以认为从一开始就直接传参为shop也可以。
    回复 有任何疑惑可以回复我~ 2018-05-23 22:42:07
  • 丶远走高飞 回复 提问者 yikemi #2
    tempshop 和 shop 很明显不是一个同一个对象啊。。。。
    回复 有任何疑惑可以回复我~ 2018-05-23 23:09:35
  • 丶远走高飞 回复 提问者 yikemi #3
    这样说  它们都是Shop类型的 实例, 但它们并不是同一个。 它们是Shop类型的两个实例
    回复 有任何疑惑可以回复我~ 2018-05-23 23:13:58
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信