封装,抽象,继承,多态
封装,抽象,继承,多态这四个概念可以说是JAVA的基础也是JAVA的精髓.但我始终无法给他们一个比较全面的概括与理解.
明天就要面视了,还望各位大侠及企业精英,能给俺一个前面点的解答啊!!!
小弟在此先谢过了!!!
------解决方案--------------------封装就是将类的属性包装起来,不让外界轻易的知道他的内部实现。只提供给你对外的接口让你来调用。好处可以增强模块的独立性。
抽象==你可以这样来想,抽象就是一个类的最基础的东西,比方说人,他的抽象类可能就是能直立行走,能劳动,但具体到你是黑人,白人,还得黑人类,白人类来说明
继承就是从父类把它的有用的东西拿过来自己用,不用在自己去实现了,向母亲会把双眼皮传给女儿,不用她自己去割了
多态体现在重载,相同的方法名。不同的实现机制,当程序运行过程中自己去判断到底该调用谁
比方说打人,那么多人,当你打起群架来,该打谁就打谁,事前你也不知道
很多专业术语我都不知道,对你面试肯定帮助不大,希望下面有高手给出专业一点的,我的这些只是希望给以简单的概念
------解决方案--------------------楼上说的挺好的。
------解决方案--------------------二楼的有意思
------解决方案--------------------术语名称:封装
封装有数据和实现方法,因此用户就可以将其视为一个提供服务的黑匣子,可向其中添加实例变量和方法,也可删除或改变其中的实例变量和方法。但只要提供的服务保持不变,使用该程序代码的就还可以继续使用它而不必被重写。另见实例变量、实例方法
术语名称:抽象
抽象我总觉得就是个抽象的东西。
不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。抽象类往往用来表征我们在对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象
术语名称:继承
继承是面向对象编程技术的一块基石,因为它允许创建分等级层次的类。运用继承,你能够创建一个通用类,它定义了一系列相关项目的一般特性。该类可以被更具体的类继承,每个具体的类都增加一些自己特有的东西。在Java 术语学中,被继承的类叫超类(superclass ),继承超类的类叫子类(subclass )。因此,子类是超类的一个专门用途的版本,它继承了超类定义的所有实例变量和方法,并且为它自己增添了独特的元素。
继承一个类,只要用extends 关键字把一个类的定义合并到另一个中就可以了。
多汰:
http://diger.cn/article.asp?id=161
这篇文章写得比较到位。
------解决方案--------------------封装:可以区分软件设计者和软件管理者的权利范围。
抽象:具体的事物要用计算机表示则必须进行抽象,比如有几个属性,有几个方法等。
继承:实现可重复模块使用的好方法。
多态:一种机制,为继承服务,Thinking in java 有一句话是这样讲的 它能把可变的事物和不可变的事物给 分离开,这样就可以更好的进行软件件设计,这样设计则只须关注可变的事物,提高了开发效率和易维护性。
呵呵,讲的不怎么通俗,可能有些人看不懂什么意思。
------解决方案--------------------呵呵,2楼的说得比较通俗易懂,只是抽象不那么透彻,楼上说得比较准确,一个事物你要描述它,就必须抽象,用什么描述就是抽象的结果了。
------解决方案--------------------2楼说的我能听明白
------解决方案--------------------这个东西光是说,是理解不了的,建议楼主可以先不管他,知道有这么个名词就行了,然后多看些源代码,过一段时间无师自通......
------解决方案--------------------学习
路过
------解决方案--------------------一般都用接口 不用抽象
------解决方案--------------------学习中 ,顶