C#基础——结构和类

结构

结构是一种值类型,通常用来封装一组相关的变量,结构可以包括结构函数,常量,字段,方法,属性,运算符,事件和嵌套类型等。但如果要同时包括上述几种成员,则应该考虑使用类。

结构实际是将多个相关的变量包装成一个整体使用。在结构体中的变量,可以是相同,部分相同,或完全不同的数据类型。例如,可以将公司里的职员看作一个结构体,将个人信息放入结构体中,主要包含姓名,年龄,出生日期,性别,籍贯,婚否,职务。

结构具有以下特点。

结构是值的类型。

向方法传递时,结构是通过传值的方式传递的,而不是作为引用传递的。

结构的实例化可以不使用new 运算符。

结构可以声明构造函数,但它们必须带参数。

一个结构不能从另一个结构或类继承。所有结构都是直接继承自System.ValueType,后者继承自 System.Object。

结构可以实现接口。

在结构中初始化实例字段是错误的。

(在结构中,除非字段被声明为const 或 static,否则无法初始化。)

C#中使用struct 关键字来声明结构,语法如下

结构修饰符 struct 结构名
{
}

public struct Books
{
   public string title;
   public string author;
   public string subject;
   public int book_id;
};  

构造函数和析构函数

构造函数的名称与类的名称完全相同,它没有任何返回类型。

class Book
{
    public Book() //无参构造方法
    {
    }
    public Book(int args) //有参构造方法
    {
        args = 2 + 3;
    }
}

析构函数的名称是在类的名称前加上一个波浪形(~)作为前缀,它不返回值,也不带任何参数。

析构函数用于在结束程序(比如关闭文件、释放内存等)之前释放资源。析构函数不能继承或重载。

class Book
{
    ~Book() //析构函数
    {
        Console.WriteLine("析构函数自动调用");
    }
}

(一个类中只能有一个析构函数,并且无法调用析构函数,他是被自动调用的。)

继承

父类

class Computer
{
    public string _Screen = "电脑";

    public Computer()
    {
        Console.WriteLine("-------Computer构造-----");
    }

    public void Startup()
    {
        Console.WriteLine("-------Computer方法-----");
    }
}

子类

调用父类方法用base(不是super)

class Pad :Computer //用 : 表示继承(extends)
{
    public Pad()
    {
        Console.WriteLine("-------Pad构造-----");
         
    }


    public void Startup()
    {
        base.Startup(); //调用父类方法用base(不是super)
        Console.WriteLine("-------Pad方法-----");
    }
}

测试类

class Test
{
    static void Main(string[] args)
    {
        Computer computer = new Computer();

        Pad pad = new Pad();
        pad.Startup();

        Console.ReadLine();
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值