类和结构的区别

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

类和结构的区别


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

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


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

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



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


类和结构的区别

区别如下: 1.存储类型:结构是值类型,存储在
  • yikeshu19900128
  • yikeshu19900128
  • 2014年10月23日 17:02
  • 1814

结构体和类的区别

结构体和类的区别:     在做一个项目时,使用了较多的结构体,并且存在一些结构体的嵌套,即某结构体成员集合包含另一个结构体等,总是出现一些奇怪的错误,才终于下决心好好分析一下到底类和结构体有啥不同...
  • u013341034
  • u013341034
  • 2016年03月14日 11:34
  • 2633

类、接口、结构的联系和区别

一.C#类与结构的差别 1. 值类型与引用类型 结构是值类型:值类型在堆栈上分配地址,所有的基类型都是结构类型,例如:int 对应System.int32 结构,string 对应 sys...
  • yanguan55
  • yanguan55
  • 2013年02月28日 16:36
  • 1712

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

学习了C++的面向对象,最常见的和写的就是类结构体,下面主要介绍一下结构体和类的区别。 首先类是C++中面向对象独有的,但是C和C++中都有结构体,下面我们来看一下C和C++中结构体的区别。这里主要...
  • nopoppy
  • nopoppy
  • 2016年10月25日 22:37
  • 1321

结构体 struct 和 类Class 区别

c#中结构体和类结构相似,够可以包括数据成员和方法成员。   二者区别:   1,结构是指类型,在栈中分配空间;类引用类型,在堆中分配空间,栈中保存引用。    2,结构直接存储成员数据,其成员...
  • Iqingshuifurong
  • Iqingshuifurong
  • 2016年11月11日 15:50
  • 2228

[C#]结构体和类的区别

 结构体和类的区别:     在做一个项目时,使用了较多的结构体,并且存在一些结构体的嵌套,即某结构体成员集合包含另一个结构体等,总是出现一些奇怪的错误,才终于下决心好好分析一下到底类和结构体...
  • Andrewniu
  • Andrewniu
  • 2016年08月02日 14:14
  • 832

C#中类与结构的区别

一.类与结构的示例比较: 结构示例: public struct Person { string Name; int height; int weight public bool overW...
  • gxq741718618gxq
  • gxq741718618gxq
  • 2013年02月22日 17:21
  • 5710

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

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

.net中类与结构的区别

转载地址:http://blog.csdn.net/myprogramer/article/details/5912469 参考:http://wenku.baidu.com/view/024755...
  • WDBS_05
  • WDBS_05
  • 2013年02月22日 08:49
  • 620

详解C结构体、C++结构体 和 C++类的区别

先来说说C和C++中结构体的不同 a) C语言中的结构体不能为空,否则会报错 1>d:\myproject\visual studio 2013\projects\myc++\main.c(71): ...
  • Loving_Forever_
  • Loving_Forever_
  • 2016年05月23日 18:38
  • 16549
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:类和结构的区别
举报原因:
原因补充:

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