对面向对象的一些理解
作者:互联网
1.面向对象思想
什么是面向对象?
对比于面向过程,是一种处理问题的角度不同。
面向过程顾名思义注重处理问题的每一个步骤及顺序,
面向对象则更注重问题有哪些参与者,他们都需要做什么,在解决问题时,再对他们需要做的事情进行调用;
比如:洗衣机洗衣服
面向过程:把一系列步骤(函数)拆解,1.打开洗衣机---->2.放衣服---->3.放洗衣粉------>4.清洗-------->5.烘干
面向对象:会找到这个事务的两个参与者(对象),人,洗衣机;
人:打开洗衣机,放衣服,放洗衣粉;
洗衣机:清洗,烘干;
从上述例子来看,面向过程更加直接高效,而面向更易于复用,扩展,维护和合作开发;
封装
封装就是明确标识,告诉外部可以被允许使用哪些数据或者方法,因此你只需要用这些数据和方法,不需要知道底层是怎么实现的;
比如:
-
实体类(javabean)中,它向外提供get,set方法以供外部对其数据的修改或访问,而这个其中的操作只能由实体类自己本身决定,而不能由外部胡乱修改。
-
orm框架中mybatis操作数据库,我们不需连接是如何建立的,sql是怎么执行的,只需要引入mybatis,调用方法就可以了
从上述例子来看,封装使得编码更加模块化,也就是分工更明确,每个人只要管好自己的模块,别人的模块只要拿来用就可以了,还有就是封装具有安全性,就是不让别人随意修改其中属性,像是把年龄修改成负数,把生日修改为2050年之类的不合理的事情发生,这些规则应该由自己来决定。
继承
继承就是继承父类的方法,进行自己的改变,扩展,而父类的东西可以得到保留,不需要自己定义,使得复用性;
而继承、相似的类放到一起继承一个父类,更好管理,维护性更高 ;
而java所有的类都是继承了object类,都继承了object的一些特性。
多态
多态就是不同的子类重写了父类的方法,展现出了不同的效果。
比如:
- 动物类中发出叫声方法,狗继承动物类后重写该方法为“汪汪”的叫,而猫则为“喵喵”的叫
从上述可以看到,多态使得代码的拓展性更高
综上所述
面向对象为牺牲了一些性能,而换取了代码的复用性,可维护性,拓展性,使得工程更好管理,更易于开发。
标签:封装,继承,洗衣机,面向对象,理解,一些,父类,方法 来源: https://www.cnblogs.com/violetMist/p/15389736.html