一 类和结构的示例比较
结构示例:
public struct Person
{
string Name;
public int height;
int weight;
public bool overWeight()
{
//implement something
return false;
}
}
类示例:
public class TestTime
{
int hours;
int minutes;
int seconds;
public void passtime()
{
//implementation of behavior
}
}
调用过程
public class Test
{
public static ovid Main
{
Person Myperson=new Person() //声明结构
TestTime Mytime=New TestTime() //声明类
}
}
从上面的例子中我们可以看到,类的声明和结构的声明非常类似,只是限定符后面是struct还是class的区别,而且使用时,定义新的结构和定义新的类的方法也非常类似。
二 类和结构的区别
1、值类型和引用类型
结构:结构是值类型;
值类型在堆栈上分配地址,所有的基类型都是结构类型,例如:int对应System.int32结构,string对应system.string结构 ,通过使用结构可以创建更多的值类型。
类:类是引用类型;
引用类型在堆上分配地址。
结构:不能从另外一个结构或者类继承,本身也不能被继承,虽然结构没有明确的用sealed声明,可是结构是隐式的sealed。
类:完全可扩展的,除非显示的声明sealed,否则类可以继承其他类和接口,自身也能被继承。
说明:
虽然结构不能被继承 可是结构能够继承接口,方法和类继承接口一样。
|