黑马程序员技术交流社区

标题: 结构体struck和类class区别 [打印本页]

作者: 白白胖胖    时间: 2014-6-15 16:29
标题: 结构体struck和类class区别
本帖最后由 白白胖胖 于 2014-6-15 20:09 编辑

结构体和类对比,有什么区别,看视频里结构体只是提了一下,没怎么明白。

作者: 黑马-柯校    时间: 2014-6-15 18:05
首先 你那个写错,应该是struct
结构体和类的区别:
结构体:是一个值类型
类:是一个引用类型
结构体本质也是一个类 继承于:System.ValueType
而类 继承于:System.Object

拓展一下:

值类型均隐式派生自System.ValueType
      数值类型、bool、结构、枚举
      查看IL,隐式继承自ValueType
引用类型派生自System.Object
      字符串、数组、类、接口等
      查看IL隐式继承自Object
引用类型变量的赋值只复制对对象的引用。
值类型变量赋值会拷贝一个副本。

作者: 白白胖胖    时间: 2014-6-15 18:53
黑马-柯校 发表于 2014-6-15 18:05
首先 你那个写错,应该是struct
结构体和类的区别:
结构体:是一个值类型

哦,嘿嘿,用智能提示用习惯啦,自己敲就会敲错。。。
作者: 十年等待VS祥    时间: 2014-6-17 16:49
结构体和类的区别:“结构体”顾名思义它是一个构造体,组成这一单元的个体是什么?它们之间是否存在联系?把这些搞清楚了我相信你就会明白了,打个比方,房子他就是个结构体,组成成房子的个体是:钢筋,水泥,板砖,等其他组成部分,如果让你写程序把盖一个房子要用到必备材料给罗列出来你怎么写?你确定你罗列的这些材料适合大众化的常规使用吗?可以盖出一N多个可以住人的房子吗?这些讲的我明白,可能你还有些迷糊,我就再举个生活中的例子吧,比如,你去体检的时候,体检单上写一些基本信息,其中会包括:性别,年龄,身高,体重,等一系列体检项目,这些体检项目并不是针对你一个人设计出来的,他是公用的,基本适合所有人,所以体检单也是一个结构体。
class类的话,就跟你main方法中的写法是一样的,具体要怎么些就看你个人了,有些程序我们经常用到的的话就可以写成一个类,在main方法中直接调用就可以了,这样我们就可以省去很多敲代码的时间。
作者: 死海古卷    时间: 2014-6-17 20:45
白白胖胖 发表于 2014-6-15 18:53
哦,嘿嘿,用智能提示用习惯啦,自己敲就会敲错。。。

不是好习惯--
作者: ︶ㄣ你眼中的倒    时间: 2014-9-24 17:12
顶!!!!!!!!!!!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2