为什么说三大特征,就如引用链接中作者所述,特征是一事物异于其他事物的特点,而所有的编程语言都需要抽象
来说说三大主要特征,每个特征可以从概述、原则、优缺点几方面来描述。
一、封装
1.概述:
将属性封装起来,外界无法直接访问,若要访问,提供公共的访问方式。
2.原则:
有效的保护属性,通过访问修饰符私有化属性(成员变量),公有化方法。
将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏 信息的操作和访问 成员变量private,提供对应的getXxx()/setXxx()方法
3.优点:
提高了代码的安全性,通过方法来控制成员变量的操作;
提高了代码的复用性,把代码用方法进行封装。
4.缺点:
二、继承
1.概述:
所有的子类所共有的行为和属性抽取为一个父类,所有的子类继承该类可具备父类的属性和行为。
2.原则:
继承具有单一性,只能单继承或多层继承。
3.优点:
提高了代码的复用性,多个类相同的成员放到同一个类中;
提高了代码的维护性,代码需要维护时只需修改父类即可。
4.缺点:
类与类之间相互关联产生耦合关系,削弱了子类的独立性。
三、多态
1.概述:
同一个对象,在不同时刻表现出的不同形态。
2.原则:
必须要有关系(继承或实现),要有覆盖。
成员变量和静态方法编译运行看等号左边,成员方法编译看左边,运行看右边。
3.优点:
提高程序的扩展性。定义方法时候,使用父类型或接口作为参数,在使用的时候,使用具体的子类型参与操作。
4.缺点:
不能使用子类的特有成员。