突然明白了什么是[构造函数]

本文通过创建“人类”类的实例,演示了C#中构造函数和析构函数的作用。构造函数用于初始化对象状态,而析构函数则在对象生命周期结束时释放资源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

王石说:每天进步一点点,就有新高度!
上帝造人--下面我们来造两个人:张三和李四
我给它们都加了注释



1.打开VS2005
2.项目-控制台应用程序
3.把下例程序复制进去
4.Ctrl+F5 一下吧,运行结果如下

大家好,我是一个人
Wawawa...
俺的身高是160厘米
Wawawa...
俺的身高是170厘米
俺不想死呀
俺不想死呀
请按任意键继续. . .

****************代码如下*******************

class Renlei //添加一个"人类"的 类
{
    public int Shengao; //声明一个 身高 的 整型变量

    public Renlei() //这个方法叫 构造函数(方法名 和 类名 同名的就叫构造函数)--好处是:程序一加载就要运行一次
    {
        Console.WriteLine("出生时的哭声Wawawa...");
    }

    ~Renlei() //这个方法叫 析构函数(特点:和类同名,前面加一个"~")--好处是:刚把人造出来就干掉了,好惨忍...呜呜
    {
        Console.WriteLine("俺不想死呀");
    }
    public void Shuohua() //声明了一个一出生就说话的方法(当然,小孩不会说话了,只会哭Wawawa...)
    {
        Console.WriteLine("俺的身高是" + Shengao + "厘米"); //这个方法就做一件事:就是告诉你,俺的身高是多少多少哩米
    }
}

class ShangDiZaoRen //项目的命名空间(就是告诉你,项目的名称是:ShangDiZaoRen
{
    static void Main(string[] args) //程序主入口(这个可不能糊涂啊,没有主入口,你连门都进不去)
    {
        Console.WriteLine("大家好,我是一个人");

        Renlei Zhangsan; //给这个人取个名字先
        Zhangsan = new Renlei(); //先造一个张三
        Zhangsan.Shengao = 160; //用刚造出来的张三调用 身高变量Shengao,得到张三的身高,也就是给他赋值
        Zhangsan.Shuohua(); //用刚造出来的张三调用 说话的方法Shuohua(),也就是打印出来

        Renlei Lisi=new Renlei(); //再造一个李四
        Lisi.Shengao = 170;
        Lisi.Shuohua();        
    }
}





最好玩的就是把构造函数和析构函数都去掉
程序照样运行

只不过少了一点点东西
少了什么?

好好想想
想明白了,就知道构造函数和析构函数了......啊嚏...

你在VS中 用QQ抓张图片来帖上来就好了嘛,
你这色加的,幸苦鸟。
楼主学习方法可得,它日定会一鸣惊人

构造函数创建对象,而析构函数是销毁对象。
析构函数没有参数的,而且不能被调用的。

分析一下代码

构造函数public Renlei()在创建的时候自动调用,所以在RenLei zhangsan=呢我RenLei()时他自动哭Console.WriteLine("出生时的哭声Wawawa...");

析构函数在程序退出时自动调用,所以才有 Console.WriteLine("俺不想死呀");
至于有两次,是由于你调用了两次RenLe()创建了2个人,所以要干掉2个人,呵呵
加深了我对析构函数的认识,谢谢笑容 :P :P

可以不用析构函数,要不要没有关系吧?好像c#有垃圾回收器所以不用要,不知道是不是?
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值