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;
            }

        }

    }
  • 相关阅读:
    [Nowcoder] 六一儿童节(拼多多)
    [Nowcoder] 大整数相乘(拼多多笔试题)
    [Nowcoder] 最大乘积(拼多多笔试题)
    [Paddle学习笔记][06][图像分类-动态图]
    [Paddle学习笔记][05][对抗生成网络]
    [Paddle学习笔记][04][图像分类]
    [Paddle学习笔记][03][数字识别]
    [Paddle学习笔记][02][MNIST转换到PNG]
    [Paddle学习笔记][01][线性回归]
    [caffe学习笔记][06][使用LeNet分类输入图片]
  • 原文地址:https://www.cnblogs.com/ccky/p/1349528.html
Copyright © 2011-2022 走看看