深入认识面向对象的三大基本特征:继承、封装和多态

      封装,就是把客观的事物封装成抽象的类(因为类是具备某些共同特征的实体的集合,它是一种抽象的数据类型,所以在这里我们说抽象成类,类是一种抽象的数据类型),此外类还可以把自己的数据(可以通俗的理解为属性)和方法(可以通俗的理解为行为)只让可信的类或者对象操作,对其不信任的进行隐藏。简单点说,一个类就是封装了数据和操作这些代码的逻辑实体,并尽可能的隐藏对象的内部实现细节。再来说下对象,对象是对客观事物的抽象(类是对对象的抽象),它们之间的关系是,对象是类的实例,类是对象的模板(即类的实例化是对象,对象的抽象化是类)。在一个对象的内部,某些代码或者某些数据是私有的不能被外界所访问。通过封装的方式对内部的数据提供不同级别的保护,以防止程序中无关的部分使用。在java中我们可以以使用关键字private ,protected和public实现封装。特点描述:(1)对象的数据封装特性彻底消除了传统结构方法中数据与操作分离所带来的种种问题,适当的封装可以让程式码更容易理解和维护,降低了程序员保持数据与操作内容的负担。2)对象的数据封装特性还可以把对象的私有数据和公共数据分离开,保护了私有数据,减少了可能的模块间干扰,达到降低程序复杂性、提高可控性的目的加强了程式码的安全性。

      继承,继承可以说是面向对象最显著的一个特性。继承是从现有类中派生出来的新的类,新的类可以吸已有类的数据属性和行为,并能扩展新的能力。Java继承是使用已存在的类的定义作为基础建立新类的技术,它支持按级分类的概念。继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。类和类之间的继承关系可以用UML符号表示,通过继承创建的新类称为子类派生类,被继承的类称为基类父类超类。继承的过程,就是从一般到特殊的过程。继承概念的实现方式有二类:实现继承与接口继承。实现继承是指直接使用基类的属性和方法而无需额外编码的能力;接口继承是指仅使用属性和方法的名称、但是子类必须提供实现的能力。JAVA不支持多继承,单继承使JAVA的继承关系很简单,一个类只能有一个父类,易于管理程序,同时一个类可以实现多个接口,从而克服单继承的缺点。特点描述:(1)这种技术使得复用以前的代码非常容易,能够大大缩短开发周期,降低开发费用。(2继承具有传递性,是在一些比较一般的类的基础上构造、建立和扩充新类的最有效手段。3)简化了人们对事物的认识和描述,能清晰体现相关类之间的层次结构关系。(4)通过增强一致性来减少模块间的接口和界面,大大增加了程序的可维护性5)通过接口来提供多重继承机制。

     多态,所谓多态就是指一个类实例的相同方法在不同情形有不同表现形式。多态机制使具有不同内部结构的对象可以共享相同的外部接口。这意味着,虽然针对不同对象的具体操作不同,但通过一个公共的类,它们(那些操作)可以通过相同的方式予以调用。通俗点说就是,同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。多态存在的三个必要条件(1)、要有继承;(2)、要有重写;(3)、父类引用指向子类对象。Java中多态的实现方式:接口实现,继承父类进行方法重写,同一个类中进行方法重载。

   最后将以上三者整合起来简单的总结一句就是:把具有共同特征的事物抽象成类。把需要保护的私有数据封装起来,然后给其他的类去继承,所表现出来的不同特性称之为多态。

猜你喜欢

转载自blog.csdn.net/famouszhouxp/article/details/79437762