欢迎光临散文网 会员登陆 & 注册

抽象类&接口

2023-04-13 17:26 作者:原装-_-老弟  | 我要投稿

相似度很高,很容易搞混。

规定

    抽象类:

  • 本身不能是静态的、私有的。因为要被继承

  • 可声明普通变量。同未完全实现的抽象类。

     接口: 

  • 不能是私有的、受保护的。

  • 定义的变量只能是公共且静态的常量。

能做什么

     抽象类:

  • 可以写方法、属性的声明,方法的实现。

  • 能被抽象类、类继承。

  • 只能被单继承。

     接口:

  • 可以写方法的声明。

  • 能被类继承。

  • 可继承多个接口


    实例化时

        抽象类:必须实现所有方法;

            接口:必须实现所有方法;

    偷个顺口:

1.飞机会飞,鸟会飞,他们都继承了同一个接口“飞”;但是F22属于飞机抽象类,鸽子属于鸟抽象类。

2. 就像铁门木门都是门(抽象类),你想要个门我给不了(不能实例化),但我可以给你个具体的铁门或木门(多态);而且只能是门,你不能说它是窗(单继承);一个门可以有锁(接口)也可以有门铃(多实现)。 门(抽象类)定义了你是什么,接口(锁)规定了你能做什么(一个接口最好只能做一件事,你不能要求锁也能发出声音吧(接口污染))。

C#中抽象类和接口的区别_51CTO博客_c#抽象类和接口区别:https://blog.51cto.com/u_15067229/3514088


抽象类&接口的评论 (共 条)

分享到微博请遵守国家法律