面向对象介绍
在将面向对象之前,我们需要先了解一下,程序设计。
一、程序设计介绍
目前我们的程序设计主要分为:
- 面向过程
- 面向对象
1.1、面向过程与对象介绍
1.1.1、什么是面向过程
基于面向过程设计程序就好比在设计一条流水线,是一种机械式的思维方式。若程序一开始是要着手解决一个大的问题,面向过程的基本设计思路就是把这个大的问题分解成很多个小问题或子过程,这些子过程在执行的过程中继续分解,直到小问题足够简单到可以在一个小步骤范围内解决。表现在python中就是,先调用函数1、再调用函数2,在调用函数3…
举个例子
存在这一一个场景,学生英语考试,提交答题,老师批评。这么一个场景,已面向
第一步 学生考试 def stu_
1.1.2、什么是面向对象
基于面向对象设计程序就好比在创造一个世界,世界是由一个个对象组成,而你就是这个世界的上帝。与面向过程机械式的思维方式形成鲜明对比,面向对象更加注重对现实世界而非流程的模拟,是一种“上帝式”的思维方式。
1.2、面向过程与对象优缺点及应用场景
优点 | 缺点 | 应用场景 | |
---|---|---|---|
面向过程 | 复杂的问题流程化,进而简单化(一个复杂的问题,分成一个个小的步骤去实现,实现小的步骤将会非常简单) | 一套流水线或者流程就是用来解决一个问题,比如生产汽水的流水线无法生产汽车,即便是能,也得是大改,改一个组件,与其相关的组件都需要修改,牵一发而动全身,扩展性极差。 | 面向过程的程序设计思想一般用于那些功能一旦实现之后就很少需要改变的场景, 如果你只是写一些简单的脚本,去做一些一次性任务,用面向过程的方式是极好的,著名的例子有Linux內核,git,以及Apache HTTP Server等 |
面向对象 | 解决了面向过程可扩展性低的问题 | 编程的复杂度远高于面向过程,不了解面向对象而立即上手并基于它设计程序,极容易出现过度设计的问题,而且在一些扩展性要求低的场景使用面向对象会徒增编程难度,比如管理linux系统的shell脚本程序就不适合用面向对象去设计,面向过程反而更加适合。 | 当然是应用于需求经常变化的软件中,一般需求的变化都集中在用户层,互联网应用,企业内部软件,游戏等都是面向对象的程序设计大显身手的好地方。 |
二、面向对象技术简介
图待补充