C#无敌的接口方法

接口:

关键词:interface

接口属于引用类型,用来定义属性,方法和索引器,

接口本身不实现这些成员,属于多态的一种表现

接口默认访问修饰符是public,不要用其他的修饰符

接口可以实现多继承,一个类可以实现多个接口,一个接口也可以继承多个接口

接口的成员是抽象的(没有具体实现),实现接口的类或者结构体需要实现这些成员

主要用途是让类或者结构体去继承    必须要实现,否则会报错

注意接口是抽象的,不能直接实例化

接口只能通过实现了的类或者结构体来创建



public interface IShape
{
    //这是一个抽象方法
    double Area();

    string Name { get; set; }

}
//接口可以实现多继承,一个类可以实现多个接口,一个接口也可以继承多个接口
public interface IDShape : IShape
{
    //接口继承了接口
    double Volume();//体积
}


 public class Circle:IShape
 {
     //继承过来的属性
     public string Name { get; set; } = "圆";

     //拓展自己的
     public double Radius {  get; set; }

     //继承接口里声明的方法
     public double Area()
     {
         return Math.PI * Radius * Radius;
     }
 }

   //因为IDShape接口继承了IDShape接口,所以当前类需要把这两个接口里面所有的字段都实现
   public class Sphere: IDShape
   {
       public string Name{ get; set; } = "球";
       public double Radius { get; set; }
       public double Area()
       {
           return Math.PI * Radius * Radius;
       }
       public double Volume()
       {
           return (4/3)*Math.PI*Math.Pow(Radius,3);
       }
   }

接口与类的区别:

都可以定义一个类的契约,一个使用interface关键字,一个使用abstract关键字,接口中成员默认就是抽象的,包括方法,属性,索引器和事件,但是不能包含字段分和构造函数,也不能有静态成员

一个类可以实现多个接口的继承,接口本身不能被实例化,但是类可以

注意:一个类只能继承一个抽象类    抽象类不能被实例化,但是可以被派生类许所继承

使用场景:接口:定义一组行为规范,但不提供具体实现的场景(只声明)

                  抽象类:用来定义一组共享的行为,可以提供场景(有实现)

抽象类因为属于抽象类,所以也能继承接口

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值