网站设计师联盟,宝安区建设网站,换网站公司,知乎 做网站的公司 中企动力文章目录接口#xff1a;抽象类#xff1a;区别#xff1a;表象#xff1a;深层次理解#xff1a;类图使用抽象类前使用抽象类后为什么有了接口还要增加一层抽象类#xff1f;接口#xff1a;
接口里的方法和抽象类中的方法一样#xff0c;它的方法是抽象的#xff0…
文章目录接口抽象类区别表象深层次理解类图使用抽象类前使用抽象类后为什么有了接口还要增加一层抽象类接口
接口里的方法和抽象类中的方法一样它的方法是抽象的也就是说接口是不能具体化成对象的
抽象类
所谓抽象类是指只声明方法的存在而不去实现它的类抽象类不能实例化也就是不能创建对象。
抽象方法和抽象类必须使用abstract修饰符来定义有抽象方法的类只能定义成抽象类抽象类里可以没有抽象方法。 区别
表象
抽象类可以给出一些成员的实现接口却不包含成员的实现抽象类的抽象成员可被子类部分实现接口的成员需要实现类完全实现一个类只能继承一个抽象类但是可以实现多个接口等。
深层次理解
**1.类是对对象的抽象抽象类是对类的抽象接口是对行为的抽象。**接口是对类的局部行为进行抽象而抽象类是对类整体字段、属性、方法的抽象。不论接口、抽象类、类、甚至对象都是在不同层次、不同角度进行抽象的结果。他们的共性就是抽象。
如果行为跨域不同类的对象飞机、麻雀、超人可使用接口对于一些相似的类的对象猫狗可继承抽象类。
2.抽象类是从子类中发现公共的东西泛化出父类然后子类继承父类而接口是根本不知道子类的存在方法如何实现还不确定预先定义。
3.抽象类是自底向上抽象出来的而接口则是自顶向下设计出来的。 类图
使用抽象类前 使用抽象类后 为什么有了接口还要增加一层抽象类
让抽象类去实现接口而不是每个实现类去实现接口实现类一致的行为或者说大部分一致的行为在抽象类中进行实现而不一致的行为或者一小部分不一致的行为在抽象类中写成抽象方法让子类去重写减少子类重写接口所有方法的负担。