对象、类和结构

来源:互联网 发布:知乎d轮融资 编辑:程序博客网 时间:2024/05/01 07:50
对象是具有数据、行为和标识的编程结构。
对象数据包含在对象的字段、属性和事件中,对象行为则由对象的方法和接口定义。


对象具有以下特点:

C# 中使用的全都是对象,包括 Windows 窗体和控件。
对象是实例化的;也就是说,对象是从类和结构所定义的模板中创建的。
对象使用属性获取和更改它们所包含的信息。
对象通常具有允许它们执行操作的方法和事件。
Visual Studio 提供了操作对象的工具:使用“属性”窗口可以更改对象(如 Windows 窗体)的属性。使用对象浏览器可以检查对象的内容。
所有 C# 对象都继承自 Object

类具有以下特点:

C# 只支持单继承:类只能从一个基类继承实现。
一个类可以实现多个接口。
类定义可在不同的源文件之间进行拆分。partial 。
静态类是仅包含静态方法的密封类.
类是使用  clsss 关键字来定义的

程序代码 程序代码
public class Person
{
    // Field
    public string name;

    // Constructor
    public Person()
    {
        name = "unknown";
    }

    // Method
    public void SetName(string newName)
    {
        name = newName;
    }
}
class TestPerson
{
    static void Main()
    {
        Person person1 = new Person();
        System.Console.WriteLine(person1.name);

        person1.SetName("John Smith");
        System.Console.WriteLine(person1.name);
    }
}


结构具有以下特点:

结构是值类型,而类是引用类型。
向方法传递结构时,结构是通过传值方式传递的,而不是作为引用传递的。
与类不同,结构的实例化可以不使用 new 运算符。
结构可以声明构造函数,但它们必须带参数。
一个结构不能从另一个结构或类继承,而且不能作为一个类的基。所有结构都直接继承自 System.ValueType,后者继承自 System.Object。
结构可以实现接口。
在结构中初始化实例字段是错误的。
结构是以struct  关键字定义的.
尽管结构的静态字段可以初始化,结构实例字段声明还是不能使用初始值设定项。
结构不能声明默认构造函数(没有参数的构造函数)或析构函数。
程序代码 程序代码
public struct CoOrds
{
    public int x, y;

    public CoOrds(int p1, int p2)
    {
        x = p1;
        y = p2;
    }
}


struct 类型适于表示 Point、Rectangle 和 Color 等轻量对象。尽管可以将一个点表示为类,但在某些情况下,使用结构更有效。
原创粉丝点击