构造函数与析构函数

大家好,我是一个人
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();        
    }
}

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

分析一下代码

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

析构函数在程序退出时自动调用,所以才有 Console.WriteLine("俺不想死呀");
至于有两次,是由于你调用了两次RenLe()创建了2个人,所以要干掉2个人,
加深了我对析构函数的认识
posted @ 2015-05-11 11:23  大胖儿在努力  阅读(187)  评论(0编辑  收藏  举报