对比与面向过程,是两种不同的处理问题的角度面向过程更注重于事情的每一个步骤,面向对象更注重事情有哪些参与者(对象),以及各自都需要些什么。 比如洗衣机洗衣服
面向过程会将任务拆分成一系列的步骤(也就是函数),1-打开洗衣机,2-放衣服,3-放洗衣粉,4-清洗,5-烘干面向对象会拆出人和洗衣机两个对象:人 : 打开洗衣机 放衣服 放洗衣粉。洗衣机 : 清洗 烘干面向过程比较直接高效,而面向对象更易于复用、扩展和维护 封装
封装的意义,在于明确标识出允许外部使用的所有成员函数和函数项,内部细节对外部透明调用,外部调用无需修改或者关心内部实现经典封装场景一:javabean,属性私有,向外提供get/set方法对外访问,属性的赋值和获取只能通过javabean本身决定,而不能由外部胡乱修改、经典封装场景二:orm框架: *** 作数据库,我们不需要关心链接是如何建立的,sql是如何执行的,只需要引入mybatis,调用方法即可。 继承
继承基类的方法,并做出自己的改变或扩展。子类共性的方法或者属性直接使用父类的,而不需要自己再定义,只需扩展自己个性化的。 多态
基于对象所属类的不同,外部对同一个方法进行调用,实际执行的逻辑不同必须包含:继承 方法重写 父类引用指向子类对象缺点;无法调用子类特有的功能(没有重写父类的方法)例子: 父类类型 变量名 = new 子类对象
变量名.方法名,实际上使用的是子类的方法,想换哪一个方法,后面new哪一个儿子就好好处:更易于程序的维护和扩展,比如我们可以new很多的子类,让他们实现不同的功能
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)