标签:java abstraction abstract-class abstract
我是一个对面向对象概念有很好理解的java开发人员(或者,我想是这样的).现在我正在学习设计模式(From Head first design patterns).
我一直在阅读有关OOPS概念抽象的内容,以便简单地理解它,并且阅读更多有关它的信息让我比以前更加困惑.
据我所知,抽象是指隐藏程序的内部细节,同时将接口暴露给其他程序员,而不必担心内部细节.
但是,我不明白
>抽象类如何适应这种抽象概念,抽象类要求我实现抽象方法,其中是抽象使用java中的抽象类.
>我觉得,抽象可以实现的一种方式是通过私有构造函数并要求类的用户使用工厂方法来获取可以实现和隐藏实现细节的类的对象.
如果我在任何地方都错了,请纠正我.
解决方法:
“摘要”是“具体”的反义词.通过抽象,您可以表达概念和想法,而不是实现这些想法的具体方式.这符合您对抽象的理解 – 您隐藏了详细信息而您只显示了界面.
但这也适用于抽象类 – 它们不是具体的(它们不能实例化它们),并且它们没有指定实现.它们指定了子类必须处理的抽象概念.
所以它基本上是一个不同的观点 – 一个是从API的客户端的角度来看,另一个是关于子类的. (请注意,在某些情况下,您可以使用抽象类而不是接口来实现相同的效果,尽管它不被视为良好实践)
标签:java,abstraction,abstract-class,abstract 来源: https://codeday.me/bug/20191001/1839213.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。