封装,继承,多态;(面试

封装:通过访问修饰符来实现;

方法:完成一定功能;方法签名+方法体;

普通方法:根据参数不同:

值类型,引用 类型,paramsref,和out关键字参数方法,

Out作参数,必须是变量,只能出,不能进,可以返回两个返回值;

ref既能进参,又能出参;只有字段才有默认值,方法中的变量没有默认值,必须先赋值再使用;

例:static void Main(string[] args)

        {

             int i=0;

             string j = "";           

           dd(out i,out j);

           Console.WriteLine(i + " " + j);

      ee(ref i,ref j);

           Console.WriteLine(i + " " + j);

        }

       

        public static void dd(out int i,out string j)//不接¨收实参传过来的值¦此时并没有赋值

        {

            Console.WriteLine(i + " " + j);//¨´°?ä?ä|¨¢?䨪

            i = 10; j = "we are friends";

            Console.WriteLine(i+" "+j);//¨¦¡è?out?¨¹ä??¦Ìê??¨¹ä??¦Ìê?单向传递

        }

        public static void ee(ref int i, ref string j)

        {

            Console.WriteLine(  i+"     "+j);//由于可以带进值,所以还会报À

            i = 120;

            j = " 我们是朋友";

            Console.WriteLine(i + "     " + j);//既能进又能¨

        }

Params 关键字,定义的参数数组可动态增长,且只能放在参数列表的最后面;

int[] arr = new int[3] { 1,2,3};

            cc(1,2,3,4,5);

            return;

  public static void cc(params int[] arr)

        {

            for (int i = 0; i < arr.Length; i++)

            {

                Console.WriteLine(arr[i]);

            }

        }

分部关键字(partial:第一次编译就会将所有部分组合起来,可在命名空间中定义类,接口,结构和方法;优点:方便程序员编程;

注意返回值必须是void的;该方法可以有ref参数 ,但不能有out参数;该方法为隐式private方法;不能将委托转化为分部方法;

使用:处理大型项目的时候,使一个类分布于多个源文件中,可以让多个程序员同时对该类进行处理;

分类方法:类的一个部分包含方法的签名。可以在同一部分或另一个部分中定义可选实现。如果未提供该实现,则会在编译时移除方法以及对方法的所有调用。

例如:partial  class Program//必须为定义partial

    {

        static void Main(string[] args)

        {

            aa();

        }

      static  partial void aa();//只有方法签名

      static partial void aa()//方法的实现

      {

          throw new NotImplementedException();

      }

    }