在学习编程的同学,今天我抛开具体的编程语言,来聊一聊编程的思想—面向对象的程序设计思想。
![d119f056d0810d65fa66098614a40eb5.png](https://i-blog.csdnimg.cn/blog_migrate/bbacb0a3dd241312908d78baa53a9641.jpeg)
面向对象程序设计(OOP)
在维基百科中,对面向对象程序设计做了这样的解释:面向对象程序设计(Object-Oriented Programming,OOP)是一种程序设计范型,同时也是一种程序开发方法。他将对象作为程序的基本单元,将程序和数据封装其中,以提高程序的重用性、灵活性和可拓展性。
从上面的解释中,我们可以清楚的知道,对象、封装、可重用性、可拓展性是面向对象编程的核心思想。
面向对象程序设计师一种更高级、更抽象的编程思维方式,面向过程程序设计虽然也是一种抽象,但面向过程是一种基础的抽象,面向对象又是建立在面向过程之上的更高层次的抽象,因此对面向对象的理解掌握也就不那么容易。
面向对象程序设计思想与具体的编程语言无关。在面向对象编程中,我们常用的两种典型的编程语言就是C++和Java。二者都是面向对象程序设计的很好开发语言。在实际开发中,像C语言这种我们都很熟悉的面向过程开发的主打语言,也能借用面向对象的思想进行具体开发,就连历史悠久面向过程的JavaScript也接受了独特的面向对象语法。所以我们说面向对象编程知识程序设计的一种理念,一种思维方式,与具体开发语言无关。
不同的程序员既可以用C语言写出面向对象的风格来,也可以用Java写成面向对象的风格,今天所说的面向对象的编程风格并不是一定优于面向过程编程,而是二者各自有各自所擅长的应用领域,在各自应用领域方能各显千秋。
OOPL(Object-Oriented Programming Language)可以提高程序的封装性、重用性、可维护性,但仅仅是“可以”,能不能真正实现这些优点,还要取决于程序设计和实际编程人员的技术层次和思维理解层次。
作为开始学习编程的同学来讲,应该深入理解面向对象程序设计的思想,不应该纠结具体的开发语言和语法。