2017-4-16 多态 构造函数 方法重载 静态方法和静态成员

1.  虚方法:virtual

    重写:override

2.抽象类:abstract

  出来就是当亲爹的,不能被实例化

  方法被重写的时候需要override,抽象方法一定在抽象类中,但抽象类中不一定只有抽象方法,

  如果要调用抽象类中的普通方法,需要子类继承后在实例化中调用

  格式:public  abstract  class Eat{  //抽象类

      public abstract  string eat();  //抽象方法不能有函数体

     }

  继承的时候:public  class Man:Eat{  //继承抽象类

          public override string eat(){  //重写抽象方法

            return "男人大口大口吃饭";

          }

        }

3.接口:interface

  出来就是被当作干爹的,不能被实例化对象,类继承的时候可以没有抽象方法,只有接口

  接口被重写的时候不用override,接口类需要将class换成interface,方法前面不需要写修饰符,

  格式:public interface Work{

        string work();

     }

  继承:用男人类继承Eat,Work

      public class Man:Eat,Work{

        public string work(){

          return "男人敲代码";

        public override string eat(){

          return "男人大口大口吃饭";

        }

        }

      }

4.重载:overland

  方法名可以一样,但是参数一定要不同,这样被称为方法重载。

  例子:public int aa(int a,int b){

       return a+b;

     }

     public string aa(string a,string b){

       return a+b;

     }

5.静态方法(实例方法,非静态方法)和静态成员:static

  非静态方法需要实例化对象,通过对象才能点出方法

  静态方法不需要实例化对象,直接通过类就可以点出静态方法,静态方法是属于类的,对象不能调用静态方法

  例子:

    public class aaa{

      public ststic string hehe(){

        return "呵呵";

      }

    }

    可以直接使用类,调用方法,aaa.heh();   不需要实例化,

6.构造函数:构造函数一定不能为静态的,

  在类被调用的时候实例化的方法,构造函数一定和类名称相同

  new 类名();

  

 

 

  

  

  

posted @ 2017-04-16 15:36  青年a  阅读(206)  评论(0编辑  收藏  举报