面向对象三大特征
1、封装
定义
将不需要对外公开的属性和方法隐藏,将需要对外开放的属性和方法公开,这是一个封装的过程。
基础的封装
属性封装:将属性设为私有,将方法设为公开,对属性定义为private;采用getter/setter 方法使属性操作过程可控。
2、继承
意义
实现代码的重用,子类可继承父类的属性和方法,减少重复的代码,提高代码的可维护性。关键字extend。
继承关系
父类:被继承的类->基类;
子类:继承类->派生类;
介绍
子类继承父类,创建一个子类对象,在对象中也会继承父类的特征,故,在创建子类对象的同时,会默认调用父类的无参构造方法。若父类中没有无参构造方法会出错。 ——解决方式:1、在父类中添加无参构造方法;2、在子类中手动调用父类的有参构造方法 super()。
在子类的构造方法中,会自动调用父类的构造方法,也可使用super(),来显示调用父类的构造方法,如果需要显示调用,super() 需要在构造方法的第一行。
在创建对象时,会先调用父类的构造方法,再调用子类的构造方法。
super关键字
使用 super() 调用父类的构造方法;
通过 super. 调用父类的属性和方法;
注:仅当类有父类时才能用super,任何类没有显示继承任何类时,也看作属于Object类的子类。
特性:
1、单根性:一个子类只能显示继承一个父类。
2、传递性:父类的属性和方法 可以 一层层传递给子类。
3、多态
一般发生在父类与子类 、 接口与实现类 之间
可用父类创建子类对象、接口创建实现类对象。
调用方法时,会调用子类中重写的方法、但不能调用子类中单独新增的方法。