C# 构造方法...

Class1.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
    class Class1
    {
        private string _name;
        private int _age;
        /*
         * 定义构造方法:
         * 1.构造方法没有返回值类型
         * 2.构造方法名和类相同
         * 3.构造方法的类型通常为public
         */
        public Class1(string name)
        {
            Name = name;
        }
        // _name 接口, 实例化形式赋值
        public string Name
        {
            get
            {
                return _name;
            }

            set
            {
                _name = value;
            }
        }
        // _age接口,初始化形式赋值
        public int Age
        {
            get
            {
                return _age;
            }

            set
            {
                _age = value;
            }
        }
    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Class1 myname = new Class1("namejr");
            myname.Age = 12;
            Console.WriteLine("我的名字:{0}, 年龄:{1}", myname.Name, myname.Age);
        }
    }
}

构造方法的另一种传参形式(相对来说比较简洁):

 Class1.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
    class Class1
    {
        private string name;
        public string Name
        {
            get
            {
                return name;
            }

            set
            {
                name = value;
            }
        }
    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // 该方法属于无参构造方法, 括号可以不写
            Class1 myname = new Class1(){ Name = "namejr" };
        }
    }
}

 注:1.构造方法也可以重载,但是如果使用有参构造,那么默认无参构造则会被取代(不存在)。2.如果构造函数继承父类构造函数,那么子类必须带有可以满足父类参数的参数

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Dog dog1 = new Dog("jack");
        }
        public class Aminal
        {
            public Aminal(string name)
            {
                Console.WriteLine("Aminal: " + name);
            }
        }
        public class Dog : Aminal
        {
            // 如果父类的构造函数带有参数时,那么继承的子类必须也要带参
            public Dog(string name):base(name)
            {
                Console.WriteLine("Dog: " + name);
            }
        }
    }
}
原文地址:https://www.cnblogs.com/namejr/p/10260906.html