关于抽象类和接口的一点小小的认知

抽象类可以继承具体的类

抽象类在实现接口的时候,可以不用实现接口的方法。但是子类一定要实现。因为子类不具有抽象方法,而抽象类具有抽象方法。因此,可以不用实现。

抽象类除了不能new对象,其他的和具体的类没啥太大的区别。

接口的话,只能在接口中定义抽象方法和静态常量。

抽象类是一个模板,继承的子类一定要实现它的抽象方法。当然也可以子类也是抽象类,那就可以不用实现了,只需要再声明为抽象方法就可以了。

接口给人的感觉是一种可插拔的感觉。既然是可插拔的,那么我们就可以用到很多地方了啊(当我们需要通用时)比如打印机,不同的墨,不同的纸张。然后打印出东西

当我们需要啥时,我们可以在抽象类中写抽象方法。让每一个子类都继承,那么的话,我们就可以很好的利用多态咯。

接口是一种行为,抽象类与子类之间的关系是一种is关系。

写面向对象程序时,先考虑好类与类之间的关系,然后再填属性,然后再写方法。

写实体类,然后再写其他的。从哪里获得数据,然后再如何处理数据。

原文地址:https://www.cnblogs.com/czk666/p/9287055.html

时间: 2024-10-09 06:02:39

关于抽象类和接口的一点小小的认知的相关文章

c#多态之抽象类与接口的一点收获~~

多态之抽象类与接口的相似点及不同点,刚学习的一点收获,或许不是很完整,借鉴看视频及一些被人写的文章自己写的下的一些心得!以便之久复习使用! 一.抽象类 (1) 抽象方法只作声明,而不包含实现,可以看成是没有实现体的虚方法     (2) 抽象类不能被实例化     (3) 抽象类可以但不是必须有抽象属性和抽象方法,但是一旦有了抽象方法,就一定要把这个类声明为抽象类     (4) 具体派生类必须覆盖基类的抽象方法     (5) 抽象派生类可以覆盖基类的抽象方法,也可以不覆盖.如果不覆盖,则其具

对抽象类和接口的一点认识

假设一个非抽象子类继承一个抽象父类,它必须实现父类中的抽象方法,假设子类也是抽象类,那么则不必实现父类中的抽象方法. 假设一个类实现了一个接口.那么必须实现接口中的全部方法.可是子类是抽象类则不用. 比方说一个接口,你仅仅用到当中的一两个方法,但是假设直接实现接口须要实现里面的五个方法.这时候你能够先让抽象类实现接口,然后你的类继承接口.就不须要都实现接口的方法了. 并且接口的抽象层次要更高.是一种契约,抽象类是提供了非常多的方法.给你用,没有强制性. 接口是公开的,里面不能有私有的方法或变量,

使用抽象类和接口的优解

使用抽象类和接口的优解 1. 前言 2. 所谓习惯认知 3. 开门见山的万金油 第1条:抽象类设计注重对象性,接口设计注重服务性 第2条:更近的抽象类,更远的接口 第3条:子类间有关系时考虑用抽象类,没有关系时一定要用接口 第4条:版本迭代中优先考虑使用抽象类而不是接口 4. 设计是个性的妥协 5. 参考资料 1. 前言 笔者相信,每个使用面向对象语言的开发者自编码以来,肯定便琢磨过抽象类(Abstract)和接口(Interface)的区别.可能一些人已经找到了适合自己的方式,另一部分却仍然深

[转]抽象类与接口的区别及应用

抽象类与接口的区别及应用 (本文由张洋提供) 抽象类(Abstract Class)与接口(Interface)是面向对象程序设计中两个重要的概念.由于两者在自身特性及应用方法上存在诸多相似性,如都不能实例化.都可以 被继承(严格来说对于接口应该叫做实现),这么一来,在许多人心中抽象类与接口的界限非常模糊,对何时该使用抽象类.何时该使用接口更是感到困惑. 本文的目的是通过对两者的讨论与比较,帮助读者认清抽象类与接口在思想本质及应用场合方面的区别,如能做到这一点,读者便可以得心应手地根据具体情况正

抽象类与接口

接口和内部类为我们提供了一种将接口与实现分离的更加结构化的方法. 抽象类与接口是java语言中对抽象概念进行定义的两种机制,正是由于他们的存在才赋予java强大的面向对象的能力.他们两者之间对抽象概念的支持有很大的相似,甚至可以互换,但是也有区别. 一.抽象类 我们都知道在面向对象的领域一切都是对象,同时所有的对象都是通过类来描述的,但是并不是所有的类都是来描述对象的.如果一个类没有足够的信息来描述一个具体的对象,而需要其他具体的类来支撑它,那么这样的类我们称它为抽象类.比如new Animal

抽象类和接口联系与区别

1.抽象类和接口都不能直接实例化,如果要实例化,抽象类变量必须指向实现所有抽象方法的子类对象,接口变量必须指向实现所有接口方法的类对象. 2.抽象类要被子类继承,接口要被类实现. 3.接口只能做方法申明,抽象类中可以做方法申明,也可以做方法实现 4.接口里定义的变量只能是公共的静态的常量,抽象类中的变量是普通变量. 5.抽象类里的抽象方法必须全部被子类所实现,如果子类不能全部实现父类抽象方法,那么该子类只能是抽象类.同样,一个实现接口的时候,如不能全部实现接口方法,那么该类也只能为抽象类. 6.

java提高篇(五)-----抽象类与接口

接口和内部类为我们提供了一种将接口与实现分离的更加结构化的方法. 抽象类与接口是java语言中对抽象概念进行定义的两种机制,正是由于他们的存在才赋予java强大的面向对象的能力.他们两者之间对抽象概念的支持有很大的相似,甚至可以互换,但是也有区别. 一.抽象类 我们都知道在面向对象的领域一切都是对象,同时所有的对象都是通过类来描述的,但是并不是所有的类都是来描述对象的.如果一个类没有足够的信息来描述一个具体的对象,而需要其他具体的类来支撑它,那么这样的类我们称它为抽象类.比如new Animal

java提高篇(四)-----抽象类与接口

接口和内部类为我们提供了一种将接口与实现分离的更加结构化的方法. 抽象类与接口是Java语言中对抽象概念进行定义的两种机制,正是由于他们的存在才赋予java强大的面向对象的能力.他们两者之间对抽象概念的支持有很大的相似,甚至可以互换,但是也有区别. 一.抽象类 我们都知道在面向对象的领域一切都是对象,同时所有的对象都是通过类来描述的,但是并不是所有的类都是来描述对象的.如果一个类没有足够的信息来描述一个具体的对象,而需要其他具体的类来支撑它,那么这样的类我们称它为抽象类.比如new Animal

Java基础——抽象类和接口的关系

在面向对象的概念中,我们知道所有的对象都是通过类来描绘的,但是并不是所有的类都能用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就应该被定义为抽象类. 抽象类 概述 比如,我们要描述"动物",它具有年龄.体积,会叫,能跑.但是又缺乏足够的特性(相较于阿猫,阿狗,它们都是动物,却有自己的特性),我们没有唯一的一种能够代表动物的东西(当然,这是相对于猫.狗来说的,在生物学上,动物还是有办法来定义的),这时我们可以用抽象类来描述它.当我们用某个类来具体描述&quo