面向对象特性如下:
(1) 封装性
通过类进行封装,类成员变量私有化,即不允许外部直接访问成员变量,
提供给外部最少的方法进行调用(包括获得和设置成员变量的方法),即所
谓的“强内聚,若耦合”。
(2) 继承性
上一节已经说过类的继承,通过extends关键字声明。A类继承了B类,
A类就拥有了和B类一样的成员(变量和方法及常量)。A类称为B类的子类,
B类称为A类的父类,A类属于B类的范畴,就像Fish(鱼)属于Animal(动
物)的范畴一样。
(3) 多态性
子类的实例(对象)既属于子类的范畴,又属于父类的范畴(也属于父
类的父类的范畴)。比如说,一条鱼既属于“鱼”这个类的范畴,又属于“动
物”这个类的范畴,这就是对象的多态性。子类实例自动属于父类,父类实
例需要强制转化才能变成子类,使用“(子类名)父类对象”的格式进行转
化。注意,当子类对象强制转化为父类对象后,该对象不可以再调用子类特
有的方法,即不可以调用非父类的方法。
(1) 封装性
通过类进行封装,类成员变量私有化,即不允许外部直接访问成员变量,
提供给外部最少的方法进行调用(包括获得和设置成员变量的方法),即所
谓的“强内聚,若耦合”。
(2) 继承性
上一节已经说过类的继承,通过extends关键字声明。A类继承了B类,
A类就拥有了和B类一样的成员(变量和方法及常量)。A类称为B类的子类,
B类称为A类的父类,A类属于B类的范畴,就像Fish(鱼)属于Animal(动
物)的范畴一样。
(3) 多态性
子类的实例(对象)既属于子类的范畴,又属于父类的范畴(也属于父
类的父类的范畴)。比如说,一条鱼既属于“鱼”这个类的范畴,又属于“动
物”这个类的范畴,这就是对象的多态性。子类实例自动属于父类,父类实
例需要强制转化才能变成子类,使用“(子类名)父类对象”的格式进行转
化。注意,当子类对象强制转化为父类对象后,该对象不可以再调用子类特
有的方法,即不可以调用非父类的方法。