黑马程序员--类和结构之间的区别
2011-12-04 16:28
246 查看
---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------
在 C#中,类是功能最为强大的数据类型,类定义了数据类型的数据和行为。
如下所示为c#中的一个类:
public class MyClass
{
public string name;//定义字段
public MyClass() //构造函数
{
name = "unknown";
}
public void SetName(string newName) //无返回值的普通方法
{
name = newName;
}
}
C#中的结构是使用 struct 关键字进行定义的,结构是值类型。
下面为c#中的一个结构的定义:
public struct Book
{
//成员变量
public decimal price;
public string title;
public string author;
}
结构与类有以下 3 个方面的区别:
1) 结构是值类型,而类是引用类型。
2) 结构不能被另外一个结构或者类继承,自身也不能被继承。而类完全可以被其他的类继承,其自身也能被继承。
3) 结构没有默认的构造函数,也没有析构函数,并且不能有 protected 修饰符,但可以不使用 new 进行初始化。而类有默认的构造函数,也有析构函数,还有 protected修饰符,并且必须使用 new 进行初始化。
----------------------
Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------
详细请查看:http://net.itheima.com/
在 C#中,类是功能最为强大的数据类型,类定义了数据类型的数据和行为。
如下所示为c#中的一个类:
public class MyClass
{
public string name;//定义字段
public MyClass() //构造函数
{
name = "unknown";
}
public void SetName(string newName) //无返回值的普通方法
{
name = newName;
}
}
C#中的结构是使用 struct 关键字进行定义的,结构是值类型。
下面为c#中的一个结构的定义:
public struct Book
{
//成员变量
public decimal price;
public string title;
public string author;
}
结构与类有以下 3 个方面的区别:
1) 结构是值类型,而类是引用类型。
2) 结构不能被另外一个结构或者类继承,自身也不能被继承。而类完全可以被其他的类继承,其自身也能被继承。
3) 结构没有默认的构造函数,也没有析构函数,并且不能有 protected 修饰符,但可以不使用 new 进行初始化。而类有默认的构造函数,也有析构函数,还有 protected修饰符,并且必须使用 new 进行初始化。
----------------------
Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------
详细请查看:http://net.itheima.com/
相关文章推荐
- 冯诺依曼体系结构、哈佛体系结构与改进型哈佛结构之间的区别
- 了解向方法传递结构和向方法传递类引用之间的区别(C# 编程指南)
- 黑马程序员_学习笔记25_string.Empty Null ""之间的区别
- C#之方法传递结构和类之间的区别学习案例
- 黑马程序员——Java基础——continue、break、return之间的区别
- 类式继承与原型继承之间的性能差异与原型链结构区别
- 黑马程序员 结构和类的区别与联系
- C#学习基本概念之类与结构--向方法传递结构与类引用之间的区别
- 黑马程序员------静态方法中为什么不能写this和super?这两者之间的区别是什么呢? Day02
- C#.NET中关于结构与类之间的区别(很详细,看了才知不后悔)
- 数据流图 系统流程图 程序流程图 程序的系统结构图之间的区别和联系
- 诺依曼体系结构、哈佛体系结构与改进型哈佛结构之间的区别
- 黑马程序员之C#学习笔记:类与结构的区别
- 不同循环结构程序设计之间的区别及应用
- C#.NET中关于结构与类之间的区别
- 数据流图 系统流程图 程序流程图 程序的系统结构图之间的区别和联系
- 冯诺依曼体系结构、哈佛体系结构与改进型哈佛结构之间的区别
- 黑马程序员_王康 abstract class 和 interface之间的区别
- C#.NET中关于结构与类之间的区别
- 黑马程序员_类与结构的区别