zoukankan      html  css  js  c++  java
  • C#中构造方法重载的相互调用

    在C#中,构造函数可以使用 this 关键字调用同一对象中的另一构造函数。和 base 一样,this 可带参数使用也可不带参数使用,构造函数中的任何参数都可用作 this 的参数,或者用作表达式的一部分。

    namespace OOPExample
    {
        
    class Program
        
    {
            
    static void Main(string[] args)
            
    {
                Employee emp1 
    = new Employee();
                Employee emp2 
    = new Employee("Tom");
                Employee emp3 
    = new Employee("Lee"30);

                Console.WriteLine(
    "使用默认构造方法:Name={0}, Age={1}", emp1.Name, emp1.Age);
                Console.WriteLine(
    "使用带名字参数的构造方法:Name={0}, Age={1}", emp2.Name, emp2.Age);
                Console.WriteLine(
    "使用带全参数的构造方法:Name={0}, Age={1}", emp3.Name, emp3.Age);
                Console.ReadLine();
            }

        }


        
    public class Employee {
            
    string _name;
            
    int _age;

            
    public int Age
            
    {
                
    get return _age; }
                
    set { _age = value; }
            }


            
    public string Name
            
    {
                
    get return _name; }
                
    set { _name = value; }
            }


            
    /// <summary>
            
    /// 默认构造方法
            
    /// </summary>

            public Employee() 
                :
    this("NoName"0)
            
    {
                
    //_name = "NoName";
            }


            
    /// <summary>
            
    /// 带名字参数的构造方法
            
    /// </summary>
            
    /// <param name="name"></param>

            public Employee(string name)
                : 
    this(name, 0)
            
    {
                
    //_name = name;
            }


            
    /// <summary>
            
    /// 带全参数的构造方法
            
    /// </summary>
            
    /// <param name="name"></param>
            
    /// <param name="age"></param>

            public Employee(string name, int age) {
                _name 
    = name;
                _age 
    = age;
            }

        }

    }
  • 相关阅读:
    log4cpp
    互斥锁封装
    Educational Codeforces Round 37-F.SUM and REPLACE (线段树,线性筛,收敛函数)
    Codeforces 920E-Connected Components? (set,补图,连通块)
    Persistent Bookcase CodeForces
    P4390 [BOI2007]Mokia 摩基亚 (CDQ解决三维偏序问题)
    P3157 [CQOI2011]动态逆序对 (CDQ解决三维偏序问题)
    CDQ 分治解决和点对有关的问题
    洛谷 P2163 [SHOI2007]园丁的烦恼 (离线sort,树状数组,解决三维偏序问题)
    洛谷 P3469 [POI2008]BLO-Blockade (Tarjan,割点)
  • 原文地址:https://www.cnblogs.com/ccky/p/1349528.html
Copyright © 2011-2022 走看看