13.抽象(Abstract)类和接口(Interface)的区别

首先抽象类和接口的设计目的就是不一样的。抽象类是对类或对象的抽象,而接口是对行为的抽象。对于抽象类,比如男人,女人这两个类,那我们可以为这两个类设计一个更高级别的抽象类–人。对于接口,我们可以坐着吃饭,可以站着吃饭,可以用筷子吃饭,可以用叉子吃饭,那么可以把这些吃饭的动作抽象成一个或多个接口–吃饭。所以在高级语言中(如Java,C#),一个类只能继承一个抽象类(因为你不可能同时是生物又是非生物)。但是一个类可以同时实现多个接口,比如开车接口,滑冰接口,踢足球接口,游泳接口。抽象类是类的抽象,接口是多继承问题的解决方案。

原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/basic/programming/3529.html

(0)
上一篇 2020年3月12日 00:34
下一篇 2020年3月14日 13:51

相关推荐

  • 11.类型系统(Type System)的基础知识

    类型系统是在计算机科学中,类型系统用于定义如何将编程语言中的数值和表达式归类为许多不同的类型,如何操作这些类型,这些类型如何互相作用。类型可以确认一个值或者一组值具有特定的意义和目的(虽然某些类型,如抽象类型和函数类型,在程序运行中,可能不表示为值)。类型系统在各种语言之间有非常大的不同,也许,最主要的差异存在于编译时…

    编程哲学思想 2020年3月11日
    09500
  • 2.彻底明白编译型和解释型、动态语言和静态语言区别

    1.编译型和解释型的区别 先来看看编译型语言定义: 编译型语言首先是将源代码编译生成机器指令,再由机器运行机器码(二进制)。 再来看看解释型语言的定义: 解释型语言的源代码不是直接翻译成机器指令,而是先翻译成中间代码,再由解释器对中间代码进行解释运行。 咋看一眼,还是一脸懵逼。下面打个比方: 编译型相当于用中英文词典(…

    编程哲学思想 2020年3月2日
    01.7K0
  • 12.不可变类型(Immutable)和可变类型(Mutable)的区别

    不可变类型(Immutable):值类型或引用类型的数据被赋值后是不可变的,如果被修改需在新内存地址保存新值。 可变类型(Mutable):值类型或引用类型的数据被赋值后是可变的,如果被修改只需在原有内存地址将新值取代旧值。

    编程哲学思想 2020年3月12日
    03770

发表回复

登录后才能评论