面向对象的特征

1、经理与员工的差异

在面向对象程序设计中,继承是其基本特性之一。Java中,如果想表明类A继承了类B,可以使用下面的语法定义类A

public class A extends B {}

类A称为子类、派生类或孩子类,类B称为超类、基类或父类。尽管类B是一个超类,但是并不意味这类B比类A有更多的功能。相反,类A比类B拥有的功能更加丰富。

提示:在继承树中,从下往上越来越抽象,从上往下越来越具体。

 

2、重写父类中的方法

方法的重写(Overriding)只能发生在存在继承关系的类中。重写方法需要注意以下几点:

q      重写方法与原来方法签名要相同,即方法名称和参数(包括顺序)要相同。

q      重写方法的可见性不能小于原来的方法。

q      重写方法抛出异常的范围不能大于原来方法抛出异常的范围。

注意:重写方法可以与原来方法的返回值不同,但两个返回值之间要存在继承关系。

@Override是最常用的注解之一。该注解只能应用在方法上,可以测试该方法是否重写了父类中的方法,如果没有则会在编译时报错。

 

3、计算几何图形的面积

在设计类的过程中,通常会将一些类所具有的公共域和方法移到超类中。这样就不必重复定义。然而这些类的超类却经常没有实际的意义。通常将它设置成抽象的,这样可以避免创建该类的对象。声明一个最简单的抽象类代码如下:

public abstract class Shape{}

注意:抽象类是不能直接实例化的,如果要获得该类的实例可以使用静态方法创建其实现类对象。

 

4、提高产品质量的方法

在面向对象程序设计中,封装是其基本特性之一。通过使用封装就可以让用户不必关心自己需要的功能是如何实现的,只关心如何使用已经实现的功能即可。对于Java类而言,通常将其属性设置成私有的,而使用get方法获得属性,使用set方法设置属性。通过对set方法增加校验就可以控制类的属性是合法的。

提示:对于使用构造方法进行初始化的类,也可以在构造方法中增加校验代码。

 

5、简单的汽车销售商场

在面向对象程序设计中,多态是其基本特性之一。使用多态的好处就是可以屏蔽对象之间的差异,从而增强了软件的扩展性和重用性。Java中的多态主要是通过重写父类(或接口)中的方法来实现的。对于香蕉、桔子等水果而言,人们通常关心其能吃的特性。如果分别说香蕉能吃、桔子能吃,则当再增加新的水果种类,例如菠萝时还要写个菠萝能吃,这是非常麻烦的。使用多态的话可以写成水果能吃,当需要用到具体的水果时,系统会自动帮忙替换,从而简化开发。