资讯专栏INFORMATION COLUMN

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

CloudwiseAPM / 2651人阅读

摘要:以下我们使用一个案例来举例说明面向对象的编程方法,案例的要求是在图形接口画出四方形圆形与三角形。本文已转载个人技术公众号欢迎留言讨论与点赞上一篇推荐猫说编译器与虚拟机哪个重要下一篇推荐猫说类与对象的那些事

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

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

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

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

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

那么我们还是能接受的,多加一个Amoeba类,实现对应的旋转和播放音频的方法,这里我们完全不用理会之前的三个实现类,他们都是一一独立的。

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

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

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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/71635.html

相关文章

  • Java猫说】类与对象的那些事

    摘要:也可以这么说,对象就好像通讯簿中的一笔数据。对象有已知的事物,并能执行工作。对象本身已知道的事物成为实例变量,它代表对象的状态。对象可执行的动作称为方法,它代表对象的行为。 阅读本文约2.1分钟。 当你在设计类时,要记得对象时靠类的模型塑造出来的,你可以这样看: ——对象是已知事物 ——对象会执行的动作 对象本身已知的事物称为实例变量,它们代表对象的状态(数据),且该类型的每一个对象...

    BWrong 评论0 收藏0
  • Java猫说】编译器与虚拟机哪个重要?

    摘要:虚拟机可以说就是,她能让程序运行起来。编译器的工作是要确保铁定不能跑的东西不会过关。编译器作为安全的第一线,能防止人们动不到不可以碰的程序代码与其他类的重要数据。 熟悉Java的朋友都知道虚拟机还有编译器,那么它们各自主要的功能是什么?谁比较重要呢?让我们来了解一下这两位美女的故事。 虚拟机可以说就是Java,她能让程序运行起来。 但是编译器却能产生文件,毕竟java是直译语言,如果需...

    CntChen 评论0 收藏0
  • Java猫说】SSM整合Netty5.0详细说明

    摘要:而我们项目在实测时也是将项目发布到测试服务器,通过模拟工具进行测试连接,当数据格式正常,且业务数据正常,服务器就会对指令执行对应的操作。 阅读本文约5.5分钟 最近又有粉丝加Q群讨论netty整合SSM项目的方式等,我在这里抽了休息日的时候整理一下,一步一步的记录,注意的是,本案例仅实现了用netty整合SSM后与单片机等类TCP应用通信。 SSM + Netty项目结合思路 对于N...

    dingding199389 评论0 收藏0
  • Java猫说Java基本概念一

    摘要:来用来表示程序的一个组件,小程序不是微信小程序可能只有一个类,类的内容必须包在花括号里面。类带有一个或多个方法,方法带有如何行走的指令,方法必须在类的内部声明。如下图本文已转载个人技术公众号欢迎留言讨论与点赞。下一篇推荐猫说基本概念二 Java曾以什么优点吸引你走上程序员这条不归路? 友好的语法、面向对象、内存管理和最棒的跨平台可移植性、write-once/run-anywhere ...

    EsgynChina 评论0 收藏0
  • RPC框架是啥之Java自带RPC实现,RMI框架入门

    摘要:让我们优先来实现一个的案例吧。为了防止被防火墙拦截,需要强制制定的通信端口,一般通过自定义一个类来实现。完美支持语言所独有的特性,不支持其他语言。使用了原生序列化,所有序列化对象必须实现接口。 本博客 猫叔的博客,转载请申明出处 学习系列 RPC框架是啥? Java自带RPC实现,RMI框架入门 首先RMI(Remote Method Invocation)是Java特有的一种RPC实...

    ZHAO_ 评论0 收藏0

发表评论

0条评论

CloudwiseAPM

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<