c# 构造函数和析构函数

构造函数

namespace ConsoleApp2
{
/// 
/// 构造函数:当创建类的新对象时会执行,初始化对象。
/// 构造函数的名称和类的名称完全相同,没有任何返回类型
/// 
    public class Clerk
    {
        public Clerk(string gender)
        { 
            this.gender = gender;
            Console.WriteLine("这是clerk中的构造函数");
            Console.WriteLine("这名员工的性别{0}",this.gender);
        }
        private enum Gender
        {,} //定义一个枚举类型
        public string _gender;//定义一个字段
        public string gender //定义一个属性
        {
            get { return _gender; }
            set { _gender = value; }
        }
    }

    internal class Program
    {       
        static void Main(string[] args)
        {
            //new 一个对象
            Clerk a = new Clerk("张三");
        }
    }
}

析构函数

namespace ConsoleApp2
{
    /// 
    /// 析构函数是用于实现销毁类的实例和方法,不能被继承和重载
    /// 析构函数不能有参数,不能有修饰符且不能被调用
    /// 析构函数前面需要加前缀 ~
    /// 如果没有指定析构函数,那么将有编译器的垃圾回收机制来决定什么时候释放资源
    /// 
    /// 
    public class Clerk
    {
        private string _name = "hh";
        public string Name
        {
            get { return _name; }
            set { _name = value; }
        }
        public Clerk(string name) 
        { 
            this.Name = name;
            Console.WriteLine("这是一个构造函数");
            Console.WriteLine("我的名字叫{0}", this.Name);
        }
        ~Clerk()
        {
            Console.WriteLine("对象已被删除");
        }


    }
    internal class Program
    {       
        static void Main(string[] args)
        {
            //new 一个对象
            Clerk zs = new Clerk("张三");
            Console.WriteLine("zs的名字{0}", zs.Name);
            
        }
    }
}

你可能感兴趣的:(c#开发,c#,开发语言)