C#学习笔记-构造方法、实例方法、静态方法

构造方法

构造方法(Constructor):构造对象其实就是创建对象。在创建对象过程中,需要调用的方法,叫做构造方法。

构造方法的本质是为了如何对字段、属性、对象或其他的相关性的初始化。

初始化调用顺序:字段=》属性=》=》构造方法

在一个类中,如果没有显示的去写一个构造方法,编译器会默认给这个类添加一个无参数的构造方法。若在调用的类中没有无参数的构造方法,再去调用会出错

构造方法的规范写法

    class MyClass
    {
        public MyClass()
        {

        }
        public MyClass([参数1],[参数2])
        {

        }
        public MyClass([参数1],[参数2]....[参数n])
        {

        }

    }

构造方法不能有返回值,方法名必须和类名一致,调用有参的构造方式,如果参数名和类中的字段名有相同,可以用this关键期来区分。

        public MyClass(string _name)
        {
            this._name = _name;
        }
        private string _name="张三";

        public string Name { get => _name; set => _name = value

实例方法

实例方法是通过对对象的实例化调用的方法,其他地方要想访问到这个方法需要用public修饰。

方法名定义:使用Pascal命名法,尽量用动宾短语,或动词

调用方式:实例名.实例方法([参数])

 MyClass myClass = new MyClass();
 myClass.Add(1, 2, 3);
 myClass.Add(1, 20);

方法的重载是根据参数和参数类型来决定调用那个重载方法。重载方法需要不同类型的参数或不同数量的参数,参数相同和返回值相同的方法不能被重载。

   public int Add(int a ,int b)
   {
     return a + b;//方法体
   }
   public int Add(int a,int b,int c)
   {
     return a + b + c;//方法体
   }

命名参数

在一些情况下,调用方法需要考虑参数顺序的问题,引用命名参数可以不考虑顺序

//命名参数(也就是说调用方法的时候,给参数前面写上参数名称,这样可以不用考虑顺序)
myClass.Add(a: 2, b: 7);

静态方法

静态方法是带有static修饰的方法。

调用实行:类名.静态方法

     MyClass.Mul(3, 7);

静态方法的特征:所谓静态,就是不需要new对象,直接通过类完成。这些静态的成员(字段、属性、方法)在程序启动的时候由CLR负责的,随着程序的启动自动初始化完成。

静态方法不能直接调用未实例的方法、字段、属性。

        public static int Mul(int a,int b)
        {
            //这里可以调用其他实例的实例方法、属性
            MyClass myClass = new MyClass();
            myClass.Name = "李四";
            return a * b;
        }

静态方法和实例方法的区别

实例方法或其他实例成员,在被调用时都需要实例化,在内存中开辟一段空间,使用完毕时,会被GC(垃圾回收)回收掉,进而释放内存。程序就是在不断的创建对象和销毁对象。

静态方法或静态成员是不受GC(垃圾回收)控制,只有在程序被关闭时,内存才会得到释放。静态的成员,必须慎重使用。对使用非常频繁的,占用空间又不大的。可以适当使用

猜你喜欢

转载自blog.csdn.net/qq_39157152/article/details/113107685