01、面向对象基本概念
* 面向对象和面向过程是两种不同的编程方式
* 对比面向过程的特点,可以更好地了解什么是面向对象
1.1、过程和函数
* 过程是更早期的一种编程概念
* 过程类似于函数,只能执行,但是没有返回值
* 函数不仅能执行,还可以返回结果
1.2、面向过程和面向对象 基本概念
1) 面向过程---就是怎么做
1. 把完成一个需求的所有步骤,从头到尾的 逐步实现
2. 根据开发需求,将某些功能独立的代码封装成一个又一个函数
3. 最后完成的代码,就是在主程序中顺序的调用不同的函数
特点:
1. 注重步骤与过程,不注重职责分工
2. 如果需求复杂,代码会变得很复杂
3. 开发复杂项目,没有固定的套路,开发难度很大
例如此图的函数关系,就是把执行某些特定步骤功能的代码封装到一个一个的函数中,然后在主函数中顺序的调用不同的函数(函数中你中有我,我中有你)。当需要修改某个功能时,即修改某个子函数的内容时,那些调用该子函数的函数也要相应的修改。于是在进行一些复杂的项目中,将会变得非常复杂。
2)面向对象---是谁来做?(此处的谁指的就是对象)
相比较函数,面向对象是更大的封装,根据职责在一个对象中封装多个方法(也即函数)
即将功能独立的代码封装到方法中,再将多个方法封装到对象中。
1. 在完成某一个需求前,首先确定所需要哪些职责---要做的事情(方法)
2. 根据职责确定不同的对象,在对象内部封装不同的方法(多个)
3. 最后完成的代码,就是顺序的让不同的对象调用不同的方法。对象之间的方法不能互相调用。
特点:
1. 注重对象和职责,不同的对象承担不同的职责
2. 更加适合应对复杂的需求变化,是专门应对复杂项目开发,提供的固定套路
3. 需要在面向过程的基础上,在学习一些面向对象的语法