zoukankan      html  css  js  c++  java
  • .Net之构造函数详解

    默认有个无参的构造函数,如果写了一个有参的 则覆盖无参构造函数


    //1. 访问修饰符一般情况下是public 没有返回值(连void都不用写) 方法的名称与类名一致
    //2. 构造函数在创建这个对象的时候 被自动调用.程序员无法手动调用.
    //3. 构造函数可以有参数.
    //4. 构造函数有什么用?如果我们希望在创建这个类的对象的同时需要执行一些代码 我们就可以把这些代码写到构造函数中.
    //5. this关键字代表当前对象.当前运行在内存中的那1个对象.
    //6. 构造函数可以重载.
    //7. 构造函数中可以调用普通的方法 但是请记住 构造函数不能在普通方法中调用.

        class Dog
        {
            private string name;
            public string Name
            {
                get { return name; }
                set { name = value; }
            }
            private int age;
            public int Age
            {
                get { return age; }
                set { age = value; }
            }
    
            public Dog(int age, string name)
                : this(age)
            {
                this.age = 12;//调用这个构造函数 age的值是12
                this.name = name;
                Console.WriteLine("大家好,两个参数的构造函数....备调用了.");
                //this.Shout();
            }
    
            public Dog(int age)
            {
                this.age = age;
                Console.WriteLine("只有1个参数并且参数类型是int类型构造函数备调用了.");
            }
    
            public Dog(string name)
            {
                this.name = name;
            }
    
            /// <summary>
            ///  叫的方法..
            /// </summary>
            public void Shout()
            {
                Console.WriteLine("往往往往,........");
            }
    
            public void SayHi()
            {
    
                Console.WriteLine("大家好,我是{0},我今年{1}了.", name, age);
            }
    
        }
                Dog d = new Dog(1, "小白"); 
    
    结果:
    
    只有1个参数并且参数类型是int类型构造函数备调用了.
    大家好,两个参数的构造函数....备调用了.


    //8. this关键字用处之2:调用其他的构造函数.
    //9. 如果1号构造函数调用了另外2号构造函数 在创建类的对象的时候 如果调用的是1号构造函数.
    //会先调用1号构造函数 再调用2号构造函数 再执行2号构造函数 再执行1号构造函数.
    //10. 如果程序员没有为类手动的添加任意的构造函数 那么C#编译器在编译的时候 会自动的为这个类生成1个无参数的空方法体的构造函数.隐式构造函数.
    //11. 一旦程序员为类手动的添加了任意的构造函数.那么C#编译器在编译的时候就不会再为这个类添加1个无参数的空方法体的构造函数.

  • 相关阅读:
    前端布局方式汇总及概念浅析
    html中map area 热区自适应的原生js实现方案
    css3实现背景颜色渐变,文字颜色渐变,边框颜色渐变
    css3动画的性能优化_针对移动端卡顿问题
    分享几个很实用的CSS技巧对前端技术很有帮助
    为什么是link-visited-hover-active原理这样的特殊
    HTML中<base>标签的正确使用
    面试WEB前端如何才能通过?
    Java连载48-final关键字
    Python连载48-正则表达式(中)
  • 原文地址:https://www.cnblogs.com/kongsq/p/5866662.html
Copyright © 2011-2022 走看看