1.面向对象程序设计概述
1.面向过程程序设计的来由
要解释面向对象程序设计,都应当将其与面向过程程序设计作对比。
面向过程程序设计往往是流程化的,以机械式思维来解决问题,同时要求程序员的思维模式偏向硬件,从机械的角度来考虑如何一步步解决问题。
然而随着计算机科学、网络以及信息技术的发展,这种编程思维越发力不从心。这意味着在开发大型软件项目时,面向过程程序设计往往显得力不从心,程序员不得不开发一个个模块来完成功能,代码复用率低下、研发周期长、软件工作效率低下等等。
因此为了适应现代社会对软件开发的更高需求,面向对象程序设计作为解决方案而兴起。
面向对象的核心思想为万物皆对象。这种思想十分接近于人类思维方式,而不像面向过程程序设计那样程序员不得不从机器的角度来思考问题。
同时面向对象导入了类与对象的思想。类就是特定拥有共同属性、特征的对象的集合,对象则是类的实例,它实现了类的属性、特征等等。这和现实世界中是非常贴近的,比如鸟可以作为一种类,而乌鸦和喜鹊都可以作为鸟类的对象,他们共同拥有鸟类的属性——翅膀、飞翔等等。然而它们之间却也有不同的属性,比如乌鸦拥有全黑的羽毛,而喜鹊却不是,这就涉及到继承与子类了。
由此,面向对象程序设计产生并且不断发展壮大,成为或不可缺的一部分。
1.典型的面向对象语言
Java/c#/Python等等。众多编程语言或者设计之初已支持面向对象特性,又或者后来在更新面向对象特性。而如今在高等编程中,掌握面向对象特性已经或不可缺,编程语言对于面向对象的支持度又决定了其性能。
1.面向对象编程语言的展望
从目前来看,作为程序员必须掌握一门面向对象编程语言,同时IT界技术不断发展,类似于F#、Docker等技术不断涌出,以及互联网的风靡,不少程序员更加青睐于类似于javascript、java、python等对网络支持性良好的语言,然而这一切都脱离不了面向对象思想,因为万物皆对象。
2.面向对象特征
1.继承
在面向对象程序设计中有个重要概念——继承不得不提。同时其存在也极为增加了代码可重用性,简化了软件开发过程。
被继承的类成为父类、基类,继承的类成为子类、派生类。子类可以继承拥有权限的父类的变量、方法、访问器等等,然而在其基础上扩展类的定义。子类还可以重写和覆盖父类的方法,而这也是面向对象的多态性的体现。
首先由继承就可知存在