面向对象
面向对象软件开发的优点有哪些?
- 代码开发模块化,更易维护和修改。
- 代码复用。
- 增强代码的可靠性和灵活性。
- 增加代码的可理解性。
- 面向对象编程有很多重要的特性,比如:封装,继承,多态和抽象。
封装的定义和好处有哪些?
- 封装给对象提供了隐藏内部特性和行为的能力。对象提供一些能被其他对象访问的方法来改变它内部的数据。
- 在Java当中,有3种修饰符:public,private和protected。每一种修饰符给其他的位于同一个包或者不同包下面对象赋予了不同的访问权限。
下面列出了使用封装的一些好处:
- 通过隐藏对象的属性来保护对象内部的状态。
- 提高了代码的可用性和可维护性,因为对象的行为可以被单独的改变或者是扩展。
- 禁止对象之间的不良交互提高模块化。
- 参考这个文档获取更多关于封装的细节和示例。
或:
- 一是用private把类的细节与外界隔离起来,从而实现数据项和方法的隐藏,而要访问这些数据项和方法唯一的途径就是通过类本身,类才有资格调用它所拥有的资源(方法,数据项属性等等)。所以第一个好处就是数据的安全性提高了。
- 二是通过隐藏隔离,只允许外部对类做有限的访问,开发者可以自由的改变类的内部实现,而无需修改使用该类的那些程序。只要那些在类外部就能被调用的方法保持其外部特征不变,内部代码就可以自由改变,各取所需,利于分工。
- 三就是提高了代码的重用性,封装成工具类以后能够减少很多繁琐的步骤。
多态的定义?
- 多态是编程语言给不同的底层数据类型做相同的接口展示的一种能力。
- 一个多态类型上的操作可以应用到其他类型的值上面。
继承的定义?
- 继承给对象提供了从基类获取字段和方法的能力。
- 继承提供了代码的重用性,也可以在不修改类的情况下给现存的类添加新特性。
抽象的定义?抽象和封装的不同点?
- 抽象是把想法从具体的实例中分离出来的步骤,因此,要根据他们的功能而不是实现细节来创建类。
- Java支持创建只暴漏接口而不包含方法实现的抽象的类。这种抽象技术的主要目的是把类的行为和实现细节分离开。
- 抽象和封装是互补的概念。一方面,抽象关注对象的行为。
- 另一方面,封装关注对象行为的细节。一般是通过隐藏对象内部状态信息做到封装,因此,封装可以看成是用来提供抽象的一种策略。