Visual_Basic 板


LINE

※ 引述《kucom (kucom)》之铭言: : 请问一下以下问题: : (1) : Dim benz as new car() : Dim BMW as new car() : Dim MyCar as car ===>宣告MyCar为car的参考 : MyCar=benz ===>将MyCar指向benz,故MyCar,benz是指同一个物件, : 读取同样的记忆体配置 : 那我可以这样写吗? : Dim MyCar as new car() : MyCar=benz : 这样的写法有错吗? : MyCar有自已的记忆体配置,还可以指向其他的物件吗? MyCar在使用New关键字时,配置了一整块属於它的空间 但benz没有 就像MyCar跟benz原本都是一张设计图 而MyCar使用了New方法取得一堆材料制成一辆车 benz此时还只是一张设计图 但你却要求将MyCar的内容「换成那张设计图」 这个在语法上没有错,但是会造成两者都只剩下设计图 原本制造出来的车子就消失不见了 : (2) : Dim MyCar as car 是什麽意思? : 是指宣告成car的参考,所以只能去接由car类别new出来的物件吗? 是这样没错,但如果里面有是基础型态的成员,如Integer 那就可以直接指定这个成员的值(有使用过New的话,没使用过New不能给值) : (3) : 假如 : Dim benz as new car() : Dim ford as new car() : 可以这样写吗? : benz=ford : 无论本身是物件或是参考都可以承接同样型态的值吗? : 若不行,是为何? : 若要去接物件,一定要用参考去接吗? : 像这样 : Dim MyCar as car : MyCar=ford : 还是只要承接的型态是相同,都可以, : 像这样 : benz=ford 是成立的? 参考如果给他一个物件 其实就等於将这个物件给予一个别名 以後面你的做法来说 等於是帮ford这辆车取了一个叫做Benz的别名 不管对谁存取,都是修改到同一辆车 而前面的情况,则会致使Benz放弃本身的实体车辆,转变成为Ford的别名 : (4) : 之前有看到一本书这样写,不是很懂它的写法: : Dim ds as new dataset : ds.ReadXml("person.xml") : dim dc as DataColumn=ds.Tables("学生").columns("学号") : 这里的dc是物件还是参考? 为什麽可以这样写? dc去承接同类别的物件吗? : ds.Tables("学生").columns("学号") ===>是DataColumn的物件吗? 所以dc才可以去接 : 那写成dim dc as new DataColumn=ds.Tables("学生").columns("学号") 可以吗? : 谢谢大家! 这边就不多说了,观念跟上面一样 只要等号右边的东西是一个经过New出来的物件 就可以给予任何型态相同的类别参考 举个例子好了 假如开一个Window Form 在Class底下直接宣告全域变数 Dim benz As Car (假定有Car这个类别) 然後接着在Form.Load的事件处理函式里面 打入 Dim myCar As Car = New Car() 下一行打 benz = myCar 这三行程式代表的意义 就是我宣告有个叫做Banz的车,但是目前这辆车不存在 然後我自行创造了一个叫做myCar得新车,没有其他标签,就叫做myCar 此时Benz公司觉得我设计的车子不错,要让我的车子挂Benz的才出去卖 所以就让刚刚那辆还没有实体的车,指向我刚刚创造出来的新车 此时Benz就指向我所创造的那辆车,但同时这辆车也仍然保有myCar这个名字 只不过,一离开Form.Load函式以後 因为离开了宣告myCar的范围 理论上刚才那辆创出来的车子因为失去名字应该会消失 但是你刚刚在全域变数帮它取了一个叫做Benz的名字 所以这辆车直到程式结束或是你自行销毁之前(Benz = nothing) 都会保持存在供你存取和利用 这样看得懂吗? -- 希望有用 --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.168.236.89







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:iOS站内搜寻

TOP