初学者眼中的面向对象

面向对象,是一种编程思想,一个对象对应一个实体,例如:苹果(颜色,味道,美容功能等特性放在一起描述苹果),梨子(颜色,味道,美容功能等特性放在一起描述梨子)

面向过程的描述苹果和梨子: 判断果皮黄色且带有斑点为梨子,否则为苹果;当实体很多时,其中任意一个实体属性发生变化时,程序的修改量通常会很大。

用面向对象与面向过程编程的对比示例,方便形象理解。

题目:图形接口画出四方形,圆形与三角形,当用户选图时,图形需要顺时针转360°并依据形状的不同播放不同的AIF音效文件

通过图,左边  面向过程(动作);右边 面向对象(事物)

增加需求,加上新形状(阿米巴原虫形状),用户选时,与是旋转并播放.hif声音文件。

新增修改 如图,左边 面向过程;右边  面向对象

修改需求,阿米巴原虫形状绕一端旋转,类似秒针(而不找出指定图像的外接四边形,计算该四边形的中心,以此为旋转点

修改前后旋转轴心如图

修改程序,如图:面向过程(左边);面向对象(右边)

在需求不断变化时,面向过程编程,修改很复杂,往往牵一发而动全身;但是面向对象,就只需要针对需求改变的对象修改,其余调试好的程序不需要修改。

在Java中对象是由类来创建它们的模型模型。

例如:写了一个狗的类,这个类包含所有狗共有的特征。

但是,狗有很多种,机器狗,贵宾犬,拉布拉多,公仔狗等。

这时,我们通过 实例化,来实现,对象的操作。

DOG dog1 = new  DOG();//再具体赋值,将dog1个性化

DOG dog2 = new  DOG();//再具体赋值,将dog2个性化

DOG dog3 = new  DOG();.。。。

之后,dog1 成了一只机器狗(具有机器狗该有的特征),dog2成了一只超级可爱的拉布拉多(具有拉布拉多所特有的特征)……

具体赋值。如图:

参考书籍《Head First Java第二版中文完整高清版》的第27页,参考书链接:

https://pan.baidu.com/s/1iQJuXGZbQ_lrik_OcuLTBQ 
提取码:1uu8 
希望给您带来帮助,而不是误导,每个人思维模式不同,世界因此才百花齐放!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值