面向对象三大特性封装、继承、多态

封装概述:是面向对象编程语言对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的,外界无法直接操作和修改。

封装原则:将不需要对外提供的内容都隐藏起来,把属性隐藏起来,提供公共方法对其访问。成员方法private修饰,提供getXxx()/setXxx()方法 

好处:通过方法来控制成员变量的操作,提高了代码的安全性,把代码用方法进行封装,提高了代码的复用性。

继承的概述:继承是指在一个现有类的基础上去构建一个新的类,构建出来的新类被称做子类,现有类被称作父类,子类会自动拥有父类所有可继承的属性和方法。

好处:提高代码的复用性,提高代码的维护性,让类与类之间产生了联系,为多态提供了前提。

继承的特点:

1、java类只支持单继承,一个类只能有一个父类

2、一个类可以有多个子类

3、java支持多继承

4、不可以循环继承

父类不可以被继承的内容:

1、被private修饰的成员变量和成员方法

2、构造方法不能被继承

3、子类通过get\set方法访问父类成员变量

继承后子父类成员变量和成员方法的特点

1、子类有就用子类的,子类没有,使用父类的。

多态概述:最终多态体现为父类引用变量指向子类对象,多态的前提是必须有子父类的继承关系或者类实现接口的关系,否则无法完成多态,在使用多态后的父类引用变量调用方法时,会调用子类重写后的方法。

多态成员的特点:

成员变量

当子父类中出现同名的成员变量时,多态调用该变量时:

编译时期:参考的是引用型变量所属的类中是否有被调用的成员变量,没有,编译失败。

运行时期:调用的是引用型变量所属的类中的成员变量。

简单记:编译和运行参考的都是左边。

成员方法

编译时期:参考的是引用变量所属的类,如果类中没用调用的该方法,编译失败。

运行时期:参考引用变量所指的对象所属的类,并运行对象所属类中的成员方法。

简单记:编译看左变,运行看右边。

猜你喜欢

转载自blog.csdn.net/chenzuen113113/article/details/79963253