黑马程序员--学习笔记--对构造函数的认识

---------------------- Windows Phone 7手机开发.Net培训、期待与您交流! ----------------------

       1,构造函数概念

        构造函数是一种特殊的方法成员,构造函数的主要作用是是在创建对象时初始化对象。一个类定义必须至少有一个构造函数,如果定义类时,没有声明构造函数,系统会提供一个默认的构造函数,如,数值类型被初始化为0,字符类型被初始化为空格,字符串类型被初始化为null,逻辑类型被初始化为false等。

        例如下面的程序:

 class Program
    {
        class Student
        {
            public string id;
            public string name;
            public bool sex;
            public int age;
        } 
        static void Main(string[] args)
        {
            char sSex;
            Student s1 = new Student();
            if (s1.sex == true)
                sSex = '男';
            else
                sSex = '女';
            Console.WriteLine("学号:" + s1.id + "\n姓名:" + s1.name
                + "\n性别:" + sSex + "\n年龄:{0}", s1.age);
            Console.ReadLine();
        }  

        程序运行结果为:

                                      

        2,声明构造函数

        如果想在创建对象时,将对象的数据成员初始化为指定的值,需要专门声明构造函数。参考前面的Student类,创建一个带构造函数的类。

class Student
        {
            public string id;
            public string name;
            public bool sex;
            public int age;
            public Student(string ID, string nname, bool ssex, int aage)
            {
                id = ID;
                name = nname;
                sex = ssex;
                age = aage;
            }

        此时在主函数中 Student s1 = new Student("1","tom","girl",21);括号里边不能为空,new字后面实际上是对构造函数的调用。

        3,重载构造函数

        构造函数与方法一样可以重载,重载构造函数的目的是为了给创建对象提供更大的灵活性,以满足创建对象时的不同需要。

        例如前面的Student类,有时只需初始化姓名,不初始化其他值,则只需声明这样一个构造函数,代码如下:

public Student(string nname)
            {
                name = nname;
            }

        此时在主函数中 Student s1 = new Student("tom");

        如果声明了带参数的构造函数后,还想保留默认构造函数,

需显式声明一个默认构造函数:public Student( ){ }

        所以在类中可以写若干个构造函数,调用时调用对应的调用格式即可。

---------------------- Windows Phone 7手机开发.Net培训、期待与您交流! ---------------------- 详细请查看: http://net.itheima.com/

       

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值