面向对象三大特性:封装、继承、多态。

面向对象—对象的解析

在生活中,对象可以是一个人,一朵花,一粒沙等等,这些都是可以作为一个对象
在Java中,也是一样类似的。java中的对象,是映射到生活中的对象,具有一样类似的属性和行为等。只不过,在java中,属性被称作为变量,行为被称为方法或函数。

封装

封装,就是将生活中许多的同一种类型的对象,比如说人,人可以分为男生,和女生。java中的封装就是把这些具有同种类型的特性的对象,进行抽象化,将这些对象的一些共同属性和行为进行抽取,然后写在同一个代码块中,这个代码块是被class修饰的,java中把这个代码块成为类,这个类就是具有同种所有对象的共性属性和方法,这就是封装的一个概念。

封装的好处
第一点,能够节约代码量。减少程序员的负担。比如说,如果有很多个对象,但这些对象是有共性的属性和行为,但是如果都需要为每一个对象进行封装成一个单独的类的话,那么将大大的增加了项目的代码量和程序员的工作量。

第二点,提高代码的可读性。代码量的减少,可以很好的观察代码的逻辑,让程序员更多的关注如何实现代码的功能,而不是花大量时间来创建一个实体类。

第三点,提高代码的可维护性。代码量的减少以及可读性的提高,那么在后期修改的代码的时候,就能很大程度上减少了程序员的工作量,和节约大量的时间来去实现项目的其他功能。

第四点,减少了开发成本。比如说,如果一个项目,更多的关注如何将一个对象抽象化成一个类的话,那么项目的实现过程肯定是漫长的。

第五点,提高项目的开发效率,提高代码的可重用性。在项目开发的过程中,我们往往需要,写很多相同的代码,如果每次都需要重新写一次,那么就会将增代码的冗余性。但是,java中,我们可以使用封装,然后后期,只需使用这个类创建一个对象,那么就可以重复利用相同的代码了

封装的特点
第一点,成员的私有化。意思是指将变量用private修饰,这样,对于外界这个变量就是不可见的,不能直接使用的。这样就提高的代码的安全性。

第二点,方法的公有化。一般而言,所有的方法都是共有的,可以被外界直接访问的。这样,外界就可间接的使用方法来获取或是修改变量了,或者是通过该方法实现实现一定的功能和提高可重用性了。

第三点,使对象的抽象化。就是说,封装就是把对象共性的东西,进行抽取和实现。

继承

概念:java中的继承和现实中的父子关系,差不多。现实中继承,是指儿子或女儿继承了父母的一些外貌特性和一些性格或行为特性等。而java中也是类似的,java中,继承是指将父类的属性和方法都继承到子类,当然,除了构造方法不能被继承外。当继承发生之后,那么子类就拥有了与父类相同的属性和方法了,并且可以使用这些属性和方法。在我的理解中,java的继承,从广义上说,继承是指子类继承父类实体类;继承是指子类继承抽象类;继承是指子类实现父类接口。并且继承实体类和抽象类都是用关键字extends 修饰,实现是使用关键字implements修饰的。而在狭义中,继承就是指子类继承实体类和抽象类。

继承的特点
第一点,是代码可重用性的体现之一。当我们有很多类的时候,有一个类需要实现一些功能,而恰好有另外一个类实现了这些功能,那么就可以通过继承的方式,来把这些功能继承过来,然后直接使用就可以达到可重用了。

第二点,提高了项目的开发效率,减少了开发的负担。

第三点,继承是运行期多态一个必要条件。