zoukankan      html  css  js  c++  java
  • 构造函数(构造器)的正确重载方式------类

    在类的构造函数重载中,一般都是这么写的。

     public  class A
        {
            int i = 12;
            int ii;
            string str = "h";
            string strr;
    
            public A()
            {
                i=12;
                str="h";
            }
    
            public A(int x)
            {
                i=x;
            }
    
        }

    但是生成出来的并不是这样子的,生成出来的是这样的:

     public  class A
        {
            int i = 12;
            int ii;
            string str = "h";
            string strr;
    
            public A()
            {
                //以下注释的内容是编译器生成的操作:
                //i = 0;
                //ii = 0;
                //str=null;
                //strr = null;
                //调用基类(object类)的构造函数
                i=12;
                str="h";
            }
    
            public A(int x)
            {
                //以下注释的内容是编译器生成的操作:
                //i = 0;
                //ii = 0;
                //str=null;
                //strr = null;
                //调用基类(object类)的构造函数
                i=x;
            }
        }

         这会造成代码的膨胀。。。解决方案是下面的这段代码

    public  class A
        {
            int i = 12;
            int ii;
            string str = "h";
            string strr;
    
            public A()
            {
                i=12;
                str="h";
            }
    
            public A(int x):this()//按照此方法重载
            {
                i=x;
            }
        }
  • 相关阅读:
    面试准备
    session
    memcached优化方案实例
    MySQL用户管理
    MySQL事务
    Linux防火墙
    Linux权限体系
    Linux查看日志文件
    查看系统状态
    负载均衡(六)分表分库的负载均衡
  • 原文地址:https://www.cnblogs.com/xiaoleye/p/4766643.html
Copyright © 2011-2022 走看看