专业的JAVA编程教程与资源

网站首页 > java教程 正文

java面向对象程序设计:把大象装进冰箱

temp10 2024-12-15 16:54:42 java教程 11 ℃ 0 评论

写在前面:

小编一直想写一篇介绍面向对象的文章,奈何面向对象对于初学者来说,不好理解。小编设计了一个把大象装进冰箱的程序,先看代码,再和大家聊聊面向对象。

java面向对象程序设计:把大象装进冰箱

如何把大象装进冰箱?小品中是这样的:

  1. (人或机器)把冰箱门打开

  2. (人或机器)把大象装进去

  3. (人或机器)把冰箱门关上

但小编觉得可以懒一点,

  1. 冰箱门自己打开

  2. 大象自己走进冰箱

  3. 冰箱门自己关上

所以,咱的程序可以这样设计了:

冰箱是一个对象,大象也是一个对象,所以写两个类;

冰箱有门和放东西的空间,这是冰箱的属性;不需要用到大象的属性;

冰箱有开门和关门这两种行为;大象有走进冰箱这一种行为;


先写冰箱类:

再写大象类:

最后是main()方法:

运行结果:

在这里先简单说一下面向对象的三大特征,然后再说说代码中的体现。

封装:属性可以用来描述同一类事物的特征,行为可描述一类事物可做的操作,而封装就是把属于同一类事物的共性(包括属性和行为)归到一个类中,以方便使用。

继承:由于封装,使得有共同特征的一类事物的所有描述信息都被归于一个类之中,但有些事物虽然有共性,但还是存在区别的。比如把冰箱这个类的品牌、容量、制冷等共性封装起来,但有的冰箱还能智能控温。智能控温冰箱有普通冰箱一样的有共性,但我们不能把智能控温这一行为也封装到冰箱类里面去,智能控温是智能控温冰箱的特征行为之一。为了省事地封装智能控温冰箱(代码的复用,这也是继承存在的原因之一),可以让智能控温冰箱取继承冰箱类:

智能控温冰箱 extends 冰箱{

智能控温()

}

多态能站在抽象的角度去描述一件事,而针对这件抽象的事, 对于每个个体(具体)又能找到其自身的行为去执行, 这就是多态.比如说冰箱按用途可分为冷藏箱、冷藏冰冻箱、冰冻箱。冷藏箱至少有一个冷藏室,但没有冰冻室;冷藏冰冻箱至少有一间冷藏室、一间冰冻室;冰冻箱至少有一间冰冻室,可有冷冻食品储藏室。它们都同属冰箱类,都有各自的行为去收纳物品。

分析代码中的面向对象思想的体现:

  1. 封装:通过访问修饰符private把冰箱里的东西、门的打开和关闭状态封装起来变为冰箱类的私有属性,外部只能通过公共的方法去访问这些属性。

  2. 继承:假如要把大象关进海尔冰箱,只需要写一个海尔冰箱类去继承冰箱类(冰箱类的所有属性和行为都会被海尔冰箱类继承过来),然后让大象走进海尔冰箱即可。

  3. 多态:大象有很多品种,每个品种进冰箱的方式也不一样。比如让亚洲象走进去、赶非洲草原象进去、把非洲森林象抬进去等。

学编程没有捷径的,只有多敲代码。把想要做的事用代码实现一遍,就会越来越熟练!

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表