【Java猫说】案例谈面向对象

有人告诉我那里遍地都是对象——咱们把全部的程序代码放在main()里面,事实上,那根本就不是面向对象的作法,在Java的面向对象中,咱们也会看到类和对象的不一样,以及对象是如何让你的生活更美好(至少程序设计工做的部分会更美好,但对因而否可以受到异性的青睐就不必定了)。程序员

如下咱们使用一个案例来举例说明面向对象的编程方法,案例的要求是:在图形接口画出四方形、圆形与三角形。当用户点选图形时,图形须要顺时钟转360°并依据形状的不一样播放不一样的AIF音效文件。(不错,这是经典的椅子大战)编程

那么做为程序员的你,会如何实现呢?请花30秒小小思考一下。segmentfault

在面向对象的编程中,咱们须要定义三个类分别是Square、Circle、Triangle表明四方形、圆形与三角形,且他们都要显示对应的rotate()、playSound()方法,这样一看好像要写不少重复的代码。可是!spa

如今业务发生了变化,咱们须要加一个阿米巴原虫形状,用户点击时旋转并播放.hif声音文件。且旋转是以右侧的点为中心,不是图形的中心设计

那么咱们仍是能接受的,多加一个Amoeba类,实现对应的旋转和播放音频的方法,这里咱们彻底不用理会以前的三个实现类,他们都是一一独立的。对象

可是咱们会发现四个类都有共同的部分,那么咱们能够提取一个父类Shape,接着让四个子类去继承Shape。继承

图片描述

面向对象,让对象自己只专一于本身的实现,若是有相同的实现就进行提取,它帮助咱们用更天然的方法设计,加入新功能时不会搞乱已经写好的程序代码,且类能够重复运用在别的应用程序中,当写一个新的类时,可使该类有足够的扩展性,以便之后用到。接口


本文已转载我的技术公众号:UncleCatMySelf
欢迎留言讨论与点赞
上一篇推荐:【Java猫说】编译器与虚拟机哪一个重要?
下一篇推荐:【Java猫说】类与对象的那些事图片

相关文章
相关标签/搜索