类和结构的区别

转载 2015年07月07日 22:58:42

类和结构的区别


结构是值类型,类是引用类型。

结构不能从另外一个结构或者类继承,本身也不能被继承,虽然结构没有明确的用sealed 声明,可是结构是隐式的sealed ,   类则完全可扩展的,除非显示的声明sealed 否则类可以继承其他类和接口,自身也能被 继承 。 注:虽然结构不能被继承 可是结构能够继承接口,方法和类继承接口一样。


结构没有默认的构造函数,但是可以添加构造函数 ,结构没有析构函数, 不能有protected 修饰符,  可以不使用new 初始化,  在结构中初始化实例字段是错误的 。 类则 有默认的构造函数和有析构函数 , 有protected 修饰符, 必须使用new 初始化。

 对于大量的逻辑的对象,创建类要比创建结构好一些 , 结构表示如点、矩形和颜色这样的轻量对象,例如,如果声明一个含有 1000 个点对象的数组,则将为引用每个对象分配附加的内存。在此情况下,结构的成本较低。   在表现抽象和多级别的对象层次时,类是最好的选择 ,  大多数情况下该类型只是一些数据时,结构是最佳的选择。



-----------摘自百度文库《c#中结构与类的区别》


相关文章推荐

C#结构体特性及与类的区别

  • 2012年09月10日 09:54
  • 3KB
  • 下载

Swift中结构体(Struct)和类(Class)的区别

原文地址为http://www.tuicool.com/articles/EveeEf Hi, There。今天這個篇文章要來介紹 Swift 中 struct 和 class 有什麼不一樣的地...

C#.Net中类与结构的区别

  • 2008年11月23日 16:51
  • 34KB
  • 下载

C#中的结构体与类的区别

经常听到有朋友在讨论C#中的结构与类有什么区别.正好这几日闲来无事,自己总结一下,希望大家指点. 1. 首先是语法定义上的区别啦,这个就不用多说了.定义类使用关键字class 定义结构使用关键字st...

C#里面的类和结构的区别

一.类与结构的示例比较: 结构示例: public struct Person {    string Name;    int  height;    int...

++ 结构体和类的区别

区别: 结构是一种用关键字struct声明的自定义数据类型。与类相似,也可以包含构造函数,常数,字段,方法,属性,索引器,运算符和嵌套类型等,不过,结构是值类型。 1.结构的构造函数和类的构造函数...
  • ttomqq
  • ttomqq
  • 2014年03月01日 21:28
  • 469

C#中的类与结构体的区别

作为一只菜鸟,在论坛拜读各位大神文章也有一段时间,但是觉得很多东西还是“纸上得来终觉浅,绝知此事要躬行”。就拿最基础的C#中类和结构体来说,很长一段时间觉得这两者几乎不存在什么差别。现在谈谈自己对这两...

C#中结构和类的区别

一.类与结构的示例比较:   结构示例:   public struct Person   {    string Name;    int height;    int weight; ...
  • hugofgh
  • hugofgh
  • 2012年08月27日 10:43
  • 338

结构体和类区别

结构体和类都是提供了数据的封装和构造  结构体主要是c语言的特色  类是c++的基本机制  结构体中的数据默认方式是public的,而类是private的  结构体不提供继承机制,类提供继承机...
  • zqpgood
  • zqpgood
  • 2011年09月16日 10:51
  • 15780
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:类和结构的区别
举报原因:
原因补充:

(最多只允许输入30个字)