尹立刚

C#-接口

VS接口
  • 小知识
接口和抽象类的区别。接口的可调用权限,都是默认public,不能指定其他可调用权限;抽象类的属性、域、方法用派生类实现,而且不一定都实现,接口用实现接口的类实现,接口声明的所有成员必须都实现;接口可以有实例,通过实现接口的类的实例强制转换过来,调用起来跟类实例一样,抽象类不能有实例。
 
  1. 接口
  • 是一些声明,项目包括属性和方法,用类实现。
interface IPerson
    int Age;    
    AddAge()
    {
    }
 
  • 用类实现,必须实现接口的所有项目。
class Person : IPerson
    private int Age;
    Age()
    {
        get 
        {
             return Age;
        }
    }
    AddAge()
    {
        Age++;
    }
 
  • 类可实现多个接口,多个接口用逗号隔开,也是必须实现接口的所有项目。
class Person : IPerson , IAnimal
   
 
  • 派生类也可实现接口,与父类和接口用逗号隔开。基类已实现的,派生类继承实现
class Person : Animal , IPerson 
   
  • 当类实现的多个接口,有同名项目时,
需指定实现的是哪个接口的项目。使用对象时,必须先创建实现接口的对象,然后把对象强制转换成接口,用接口的属性和方法,。在类已实现一个接口的同名方法时,下一个实现默认是另一个的,使用对象时也一样。
interface IPerson
    int Age;    
interface IAnimal
    int Age;    
class Person : IPerson , IAnimal
       IPerson.Age()
        {
        }
        IAnimal.Age()
        {
        }
创建myUnit对象
IPerson myIPerson = (IPerson ) myUnit
myIPerson.Age
 
  • 可用new隐藏基类的实现
new Age

posted on 2015-10-26 21:20  尹立刚  阅读(164)  评论(0编辑  收藏  举报

导航