zoukankan      html  css  js  c++  java
  • C#构造函数

    一、构造函数

    构造函数用于执行类的实例的初始化。每个类都有自己的构造函数,如果我们声明了构造函数,系统就会执行我们声明好的构造函数;如果我们没有声明构造函数,编译器就会自动为我们提供一个默认的构造函数。

    在访问一个类的时候,系统将首先执行构造函数中的语句。

    实际上,执行构造函数时都隐式地调用了系统提供的默认构造函数base()。

    如果我们在类中声明了下面的构造函数:

    A(...){...}它等价于:

    A(...):base(){...}在使用构造函数时,请注意下面的问题:

    ?构造函数的名字必须与类同名。

    ?构造函数可以带参数,也可以不带参数,并且没有返回类型。

    ?构造函数总是public类型的。如果是private类型的,表示类不能被实例化,一般用于只含有静态成员的类。

    ?构造函数主要完成对类的初始化工作,因此,在构造函数中不要做对类的实例进行初始化以外的事情,也不要尝试显式地调用构造函数。

    下面的示例讲解了构造函数的使用:

    class classTest
    {
        int x = 0, y = 0, count;
        public classTest()              // 不带参数的构造函数classTest()
        {
            count = 0;
        }
        public classTest(int x1, int y1)// 带参数的构造函数classTest(int x1,int y1)
        {
            x = x1;
            y = y1;
        }
    }

    二、构造函数的参数

    构造函数可以不带参数,不过,有时候我们在对类进行实例化时,需要传递一定的数据,来对其中的各种数据进行初始化,这时,我们可以使用带参数的构造函数,来实现对类的不同实例的不同初始化。

    在带有参数的构造函数中,类在实例化时必须传递参数,否则该构造函数不会被执行。

    我们在上面声明了两个构造函数:不带参数的构造函数和带参数的构造函数。

    下面讨论一下构造函数的参数的传递情况:

    1. 不带参数的构造函数的参数传递

    classTest obj1 = new classTest();

    不带参数的构造函数,不需要传递参数。请阅读C#静态成员和非静态成员示例。

    2. 带参数的构造函数的参数传递

    classTest classTest1 = new classTest("BaiXue", 18);

    带参数的构造函数,需要传递参数。请阅读C#中类的成员示例。

  • 相关阅读:
    java并发
    jvm虚拟机
    L2Dwidget二次元前端添加人物插件
    MySQL数据库之rowid
    MySql支持emoji表情设置
    zookeeper不能正常启动问题(转)
    jd-gui-windows-1.6.6.zip反编译工具
    为什么es集群至少需要三个节点(转)
    超好用的uniapp弹出层
    netcore5.0 使用新的Microsoft.Data.SqlClient
  • 原文地址:https://www.cnblogs.com/melao2006/p/4239306.html
Copyright © 2011-2022 走看看