如何面向对象编程?

2022-04-25 20:17:34 浏览数 (1)

你好,我是小牛

很多同学成功转行软件测试之后,做了一段时间功能测试,会感觉也不过如此。日常工作没什么提升,总是在做重复性工作。

当你有这种感觉的时候,就是是时候提升一波了,而寻求的突破口,就是建议大家首先从编程入手。

学完编程,学自动化,然后跳槽加薪,迎娶白富美,走上人生巅峰,岂不美哉,哈哈哈哈……

继续说编程,当你学完编程的基础语法之后比如变量,条件,循环等之后,接下来要学的就是面向对象编程了,它更多的是一种编程思想。

可能你还会听说一句话,叫万物皆对象,那什么是面向对象编程呢?

在理解这个概念之前,首先要知道的就是面向过程编程。这两个对比来学习就比较容易理解。

如果你大学学的是工科专业,可能很多人都会在大一的时候学习一门编程语言叫做C语言,这个就是典型的面向过程编程语言。

然而比较可悲的是,学了这门语言,其实能做的事情很有限,每天对着黑窗口写代码,很多人在还没培养起兴趣之前就放弃了。

所以计算机相关专业的同学接下来就会学习面向对象编程语言,像做自动化使用的java,python语言,还有其它的C#等都属于这类语言。

那么面向过程编程思维和面向对象编程思维有什么区别呢?

举个例子:

比如你准备使用洗衣机洗衣服。

面向过程的解决方法:

1.执行放衣服方法

2.执行加洗衣粉方法

3.执行加水方法

4.执行洗衣服方法

5.执行甩干方法

可以很容易看出,它是按照执行过程拆分成一个个方法,然后通过执行一个个方法来解决问题。

面向对象的解决方法:

1.先弄出两个对象,洗衣机对象和人对象

2.针对对象洗衣机加入一些属性和方法:洗衣服方法,甩干方法。

3.针对人对象加入一些属性和方法:加衣服方法,加洗衣粉方法,加水方法。

4.然后执行

人.加衣服

人.加洗衣粉

人.加水

洗衣机.洗衣服

洗衣机.甩干

同样是洗衣服,可以看出,面向对象编程思维就是先抽象出对象,然后使用对象去执行方法的方式解决问题。

面向过程和面向对象是两种截然不同的编程思维方式,说完它们的区别,那么它们有什么优缺点呢?

简单来说,面向过程写出来的程序就是一份蛋炒饭,面向编程写出来的程序就是盖浇饭。

蛋炒饭是将饭和鸡蛋一起炒,而盖浇饭可以将饭和菜分开,对饭店来说当你想吃土豆盖浇饭,就在米饭上浇土豆,想吃红烧肉盖浇饭,就浇红烧肉。

盖浇饭有无穷种组合,大大提高了灵活性。用软件工程的专业术语来说就是,可维护性好,可拓展性好,代码耦合度低。

既然面向对象编程这么优秀,那么为什么还需要面向过程编程呢?

原因也简单,因为像C语言这种面向过程语言属于底层语言,更接近操作系统。运行速度更快,性能更好。

因为面向对象编程时,类需要实例化对象,开销比较大,更消耗资源。处理速度也更慢。

所以,一般面向过程C语言用在硬件开发比较多,还有就是操作系统开发。比如嵌入式开发,单片机开发,Linux/Unix开发等等。

面向过程这些就不用多说了,主要用在开发各类web网站,自动化测试等等领域。

聊完它们的优劣对比,接下来不得不提到的就是面向对象编程的三大特性,封装,继承,多态。这三个也是面试时必问的问题。

这三个特性,每一个拓展开来都可以写一篇文章,限于篇幅,先不展开了,之后文章会一一安排,敬请期待!!

0 人点赞