面向对象思想
①面向过程
[1]面向过程程序特点
在顺序、分支、循环结构中,操作变量中存储的数据。
[2]面向过程思想对应的问题
面向过程这种程序设计理念,对应现实生活中某一个点上具体的问题,特别是对应解决问题过程中具体的操作步骤。
[3]面向过程程序的不足
最大的不足:整个系统各个组成部分之间『耦合』太严重。
从开发角度来说:对任何一个细微的地方做修改、调整、升级都会不可避免的影响到其他部分。
从运行角度来说:整个系统中有任何一个数据发生了变化,相关的很多部分都要重新运算,非常浪费性能。
[4]本质
从面相过程的思想发展到面向对象的思想根本原因就是因为随着时代、市场等方方面面的发展,要求程序员编写更加复杂的程序,设计更加庞大的系统。
由非常多组成部分有机结合在一起的系统是面向过程代码无法容纳的。
②面向对象
[1]关键
面向对象的设计理念、编程思想非常贴合人平时认识世界、思考问题时的思维方式。
一切皆对象:现实世界中的所谓『东西』投射到代码中就是『对象』
工业产品:一辆汽车中的各个组成部分、各个部件中各种的零件
日常生活:做饭时使用的厨具、食材、餐具等等“东西”
所以有了面向对象的设计理念和编程思想,我们就可以在开发过程中,大致保持和平时一样的思维方式来设计系统、编写代码。
[2]类
程序中的『类』,对应到生活中就是对同一类事物的一个统一的『分类名称』。
[3]类和对象的关系
从抽象和具体的角度来说:
类:抽象描述
对象:具体实体,所以对象也被称作:『类的实例』
从设计图和产品的角度来说:
类:生产产品的设计图
对象:按照设计图生产出来的一个具体的产品
使用汽车设计图可以生产汽车产品。
使用汽车类可以创建汽车对象。
使用月饼模具可以生产月饼产品。
使用月饼类可以创建月饼对象。
③小结
一句话:面向对象的思想最根本的目的就是为了让程序能够更好的『描述』现实世界,程序只有做到了尽量逼真的描述现实世界,才能让程序解决现实生活中真实存在的问题。所以这个思想有两方面最大的好处:
更好的描述现实世界
更符合人平时的思维方式