什么是面向过程?什么是面向对象?
什么是面向过程?什么是面向对象
面向过程
看名字它是注重过程的。当解决一个问题的时候,面向过程会把事情拆分成: 一个个函数和数据(用于方法的参数) 。然后按照一定的顺序,执行完这些方法(每个方法看作一个个过程),等方法执行完了,事情就搞定了。
面向对象
看名字它是注重对象的。当解决一个问题的时候,面向对象会把事物抽象成对象的概念,就是说这个问题里面有哪些对象,然后给对象赋一些属性和方法,然后让每个对象去执行自己的方法,问题得到解决。
——–举例说明———–
我们去洗衣机里面洗衣服
面向过程:
1.首先我们执行加洗衣粉的方法。
2.再执行加水的方法。
3.再执行洗衣服的方法。
4.再执行清洗的方法。
5.再执行烘干的方法。
把这个事情拆分为每一个方法,然后按照一定的顺序执行,执行完毕,这个事情就解决了。
面向对象:
我们先把这事情抽象成两个对象。一个是洗衣机对象一个是人对象。
洗衣机对象里面有洗衣服方法、清洗方法、烘干方法。
人对象里面有加洗衣粉方法、加水方法。
然后人加洗衣粉、加水,洗衣机洗衣服、清洗、烘干
面向对象的三大特性
面向对象的三大特性,分别是封装、继承和多态。
封装:
就是把描述一个对象的属性和行为的代码封装在一个类中,有些属性是不希望公开的,或者说不被其他对象访问的,所以我们使用private修饰该属性,使其隐藏起来;类中提供了方法(用public修饰),常用的是get、set方法,可以操作这些被隐藏的属性,其他类可以通过调用这些方法,改变隐藏属性的值 。
继承:
在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,使用extends关键字实现继承;子类中可以加入若干新的内容,或修改原来的方法使之更适合特殊的需要,这就是继承。
多态:
多态就是在声明时使用父类,在实现或调用时使用具体的子类;即不修改程序代码就可以改变程序运行时所绑定的具体代码,让程序可以选择多个运行状态,这就是多态性,多态增强了软件的灵活性和扩展性 。这里可以举个例子,比如声明时使用的是动物类,调用时传递的是一个猫类(动物类的子类)的对象,具体执行父类里动物——吃的方法时,实际执行的是猫——吃的方法。