类对象抽象类1

来源:互联网 发布:c语言入门自学在线阅读 编辑:程序博客网 时间:2024/06/06 16:17

接口调用//接口不能实例化,但可以用继承的类实例化访问

public interface Itest

{

     void sayHello();

}

class myItest:Itest

{

    public void sayHello()

    {

             Console.WriteLine("I am Itest");

    }

}

myItest one = new myItest;

Itest   InterfaceObject = one as Itest;

 InterfaceObject.sayHello();//此处调用的是myItest的sayHello函数


抽象类  //虚拟成员和抽象函数不能是私有的private.只能是public 和protected

public abstract class Aclasstest

{

      public void sayHello();

      protected void sayHello1();

       //private void sayHello2();

}

class AclassTest:Aclasstest

{

  public override  void sayHello()

   Console.WriteLine("I am public");

 protected  override  void sayHello1()

Console.WriteLine("I am protected");

}

// public void sayHello2()

//{ 

//}

}

抽象类在继承类中的实现叫override重载。接口在继承类中的实现叫做函数的实现(换句话说,抽象类函数的实现是继承类函数的重载,接口函数的实现就是继承类的函数的方法体)

             即:abstract不允许有方法体,必须被子类override重载。貌似抽象函数只能在抽象类中申明。

虚拟方法visutal,必须申明实现,必须有主体函数。所以抽象类中不可能有虚拟函数。虚拟函数可以被继承类override,不过其它函数(public和protected)何尝不是也可以override,我去。

最后,override相对在abstract的继承类中用的比较多然后是在virsual中还是用的比较多



0 0
原创粉丝点击