zoukankan      html  css  js  c++  java
  • 接口和抽象类区别

      以前自己一直分不清抽象类和接口的区别,当然语法上的区别看了语法大家都懂,但是在真正使用的时候,你可以确定使用接口还是抽象类么?个人觉得这由一下几个方面决定:

      ①面向对象思想(对事物的认知和分类)

      ②站在思想的层面上区分接口和抽象类(本质)

      ③业务上的续需求

      首先来说第一点,面向对象的思想(对事物的认知和分类)。就比如说:奥迪,你认为它是一辆汽车;波音飞机,你认为它是一架飞机;如果现在有一辆像龙珠里面的那种会飞的车,就叫飞车吧。那你认为它是数据汽车还是飞机呢?其实这并没有确切的答案,根据具体业务,对业务或者架构上更加方便就怎么分,不同的分类可能就会得出不同的结果。(具体代码例子再补上)

      然后是第二点,要从本质上区别接口和抽象类。抽象类是属于类,是对同一类事物的抽象,它侧重的是属性,“a 属于 A”的概念。而接口是对行为的抽象,并非是要属于同一类事物,就像人会动,汽车也会动,则可以把“动”抽象出来作为接口,是“A 可以 a行为”的概念。(具体代码例子再补上)

      最后是第三点,业务上的需求,这一点其实并非是接口和抽象类的区别,只是用于在实践中辅助决定使用接口还是使用抽象类。接口是相对固定不变的,而抽象类是可多变的的。(具体代码例子再补上)

      

  • 相关阅读:
    App Store 审核指南
    Redis持久化
    PHP扩展高性能日志系统SeasLog简单上手
    Linux下Redis的安装配置
    Windows下Redis的安装
    安装wamp环境 最新完整版
    Git安装配置(完整版)
    Linux下SVN配置
    配置最新版LAMP环境
    Linux下ftp的安装配置
  • 原文地址:https://www.cnblogs.com/ismallboy/p/4904813.html
Copyright © 2011-2022 走看看