前言:
其实每个人都会面向对象,实际上是每个人都熟练运用了面向对象的概念。现在请花10分钟时间让我们来了解这个所谓的隐晦难懂的面向对象。
直接开讲:
一句大白话概括面向对象,请大家牢记,面向对象本质就是:【在虚拟世界中模拟现实世界】。面向对象不是一种技术,只是一种编程的方式,并非是某一种语言单独占有的一种方式。
万物皆对象,为什么说每个人都会面向对象呢?大家的生活、工作、学习中都在熟练的运用面向对象,我们身边任何事物都是对象(相信初学者都会认为这句话隐晦难懂),请跟着我的思维来初探这个概念。
生活中我们会将身边的人分为亲人、同事、爱人、还有同学等。我们会把书籍分为教科书、漫画等,我们会熟练的区分小轿车、公交车还有自行车,没错!!!这就是面向对象的基本运用了。我们仅仅需要吧我们这种熟练运用的概念引用到我们的编程中。
初引概念:
还是得引用一下例子,请先默念一下【在虚拟世界中模拟现实世界】这句话再看这个例子,我们每个人都会把学校中的全部人分为不同的班级,而班级中的人又分为老师和学生。这种简单的分类已经是面向对象的运用了,而老师和学生都是人类。相信大家都理解这样的分类。下面我们需要在虚拟世界中模拟现实世界。
现在请大家按照上面的分类编写一个班级名单系统,老师和学生都是人类,人类都有自己的性别、名字、和年龄,老师的职称又分语文老师、数学老师,学生则有座位编号。每个班级都有班级的编号,我们就将已经熟练运用的这种分类概念运用到我们的编程中就是面向对象的运用,上面讲到人、老师、学生拥有的名字、年龄等就是我们编程中的属性,而人类就是老师、学生就是人的子类,大家可以脑补一下这个从上到下的一个树状图,这个树状图就是继承关系,最后再贴图,先动脑。
概念进阶:
面向对象编程的目的是为了更好的编程,最大的好处就是程序更贴切生活使程序更容易编写、维护和阅读,我们在运用时的最基本要求就是满足需求、不画蛇添足再讨论升华业务。再讲很多初学者都理解面向对象的概念,但是在运用时会陷入一个盲区,就拿上面的班级例子来讲,有的人会犹豫不决并且过度的去剖析属性,比如:人类还有发色、瞳色、腰围等等,实际上我们满足业务需求即可。
结尾:
随着我们参与编程工作的时间推移,每个人在运用面向对象时都有自己独到的理解和运用,欢迎大家留言评论或加入到我们讨论的大家庭,JAVA技术进阶讨论QQ群:524574427。
最后补上那个树状图(是在缺少绘图工具,欢迎留言或在群里推荐绘图工具)。