我们先设计一个猫抓老鼠的小游戏:
⊙猫和老鼠都有名字和体重两种属性,猫有抓老鼠的方法,对应的老鼠则有逃跑的方法。
⊙首先游戏的结果是猫抓住了老鼠或者老鼠逃跑了,对于这两种情况,我们用体重来区分,若猫的体重大于或等于老鼠的体重,则猫可实现抓住老鼠的方法,若猫的体重小于老鼠的体重,则老鼠实现了逃跑的方法。
分析一下,第一步我们需要建立两个类:Cat、Mouse;并且分别声明其各自拥有的方法:
下面我们编写测试类,实例化一下Cat和Mouse类
以上就是我们猫抓老鼠小游戏的实现,我们由此可以回顾一下,Java面向对象编程的特点有三个,分别是:封装(Eccapsulation)、继承(Inheritance)、多态(Ploymorphism);
封装:类的使用者不需要知道类是如何实现的,而实现的过程经过封装,用户只需知道如何使用
包括两种<1>打包(package PackageName)
<2>访问权限:public/default/protected/private
继承:在已有类的基础上拓展属性和方法的能力用关键字extends实现
多态:不同对象面对同一种行为表现出不同的形式
了解了封装的特点之后,我们可以对前面的例子加以分析,如封装:我们可以将Cat、Mouse类以及测试类存到同一个包里(package TestProgramming),此时default以及protected权限就与最大权限public相当,但对于最小权限private,其修饰的成员只能在本类中被访问。
对于继承,我们先总体的看一下,因为Cat类和Mouse类都拥有相同的属性name和weight,而且猫和老鼠本身就是动物,也就是说他俩都是动物的一种,而且还拥有相同的属性,此时我们即可建立一个动物类Animal,在Animal类中定义Cat类和Mouse类的相同属性name、weight;当Cat和Mouse继承了Animal类时,也就同时拥有了name、weight属性;这是一种改进,同时也是一种优化。代码如下:
在继承这块我们需要注意的无非就是this与super的用法以及方法的重写与重载,
对于多态:我们仍然在本例说明
总结:面向对象的三个特点封装、继承、多态在编程中时刻体现,这是基础也是细节,需要仔细理解这
三者之间的区别与联系。