对以前的知识掌握的是模模糊糊,抽空打一下补丁。。。
什么是面向对象思想:
- 面向对象是一种思想,是基于面向过程而言的,就是说面向对象是将功能等通过对象来实现,将功能封装进对象之中,让对象去实现具体的细节。
- 这种面向对象是将数据作为第一位,而算法或者方法(数据之间的操作)作为其次。
- 面向对象有三大特征:封装性、继承性、多态性
- 封装:将方法内部具体实现隐藏,只提供访问方式。这样隔离了具体实现实现,提高代码的安全性跟实用性;
- 继承:两个类存在某些关系,那么这个继承类就可以从被继承类上获取某些属性。当然这个继承是多态的前提!
- 多态:父类的借口指向子类的对象,从而提高项目的扩展。只要实现或继承了同一个接口或类,那么就可以使用父类中相应的方法,提高程序扩展性,但是多态有一点不好之处在于:父类引用不能访问子类中的成员。
- 抽象:抽象是把想法从具体的实例中分离出来的步骤,因此,要根据他们的功能而不是实现细节来创建类。 Java 支持创建只暴漏接口而不包含方法实现的抽象的类。这种抽象技术的主要目的是把类的行为和实现细节分离开
面向过程(Procedure Oriented 简称PO :像C语言):
看名字它是注重过程的。当解决一个问题的时候,面向过程会把事情拆分成: 一个个函数和数据(用于方法的参数) 。然后按照一定的顺序,执行完这些方法(每个方法看作一个个过程),等方法执行完了,事情就搞定了。
面向对象(Object Oriented简称OO :像C++,JAVA等语言):
看名字它是注重对象的。当解决一个问题的时候,面向对象会把事物抽象成对象的概念,就是说这个问题里面有哪些对象,然后给对象赋一些属性和方法,然后让每个对象去执行自己的方法,问题得到解决。
来个例子
问题: 冰箱里面放有脏衣服,怎么洗干净?
面向过程:
1 执行加洗衣粉方法;
2 执行加水方法;
3 执行洗衣服方法;
4 执行清洗方法;
5 执行烘干方法;
----------解决问题 拆成一个个方法,是没有对象去调用的。 通过一个个方法的执行解决问题。
面向对象: 我先搞个洗衣机对象和人对象
洗衣机: 加入一些属性和方法 洗衣服方法 清洗方法 烘干方法 人:加洗衣粉方法 加水方法
然后 人.加洗衣粉 人.加水 洗衣机.洗衣服 洗衣机.清洗 洗衣机.烘干
----------同样解决问题 先抽象出对象,然后用对象执行方法的方式解决问题
摘自:https://blog.youkuaiyun.com/xmh594603296/article/details/79774167
https://blog.youkuaiyun.com/chenqiuping_ls/article/details/53609807