在上期我们讲了关于对象的概念,那么有了这个概念我们来看面向对象的三大特征:封装;继承;多态的特点和概念。
思维导图如下:
一、封装
1、什么是封装
将成成员变量和成员方法封装起来使得除了本类之外的其他类无法访问,只有通过调用方法或者set/get访问,简单来说就是像软件测试中的黑盒测试一样,我们不关系内部结构如何,只关心结果如何。
2、封装的用途
(1) 通过在main内调用成员方法或者使用set/get访问
(2) 外部程序通过该类提供的方法访问
3、优点
优点是:提供类的独立性和安全性
4、其他拓展
(1)API:应用程序接口。
(2)private
修饰成员变量和方法;
被private修饰的成员变量智能在本类访问,若被其他类使用则使用set()、get()
(3)this:区分成员变量和局部变量
同名,不带this为形参,非成员变量;
不同名,不带this的为成员变量;
(4)构造方法
无参构造;
带参构造;
(5)String类
String 内容不可变,String转StringBuilder String sb=new StringBuilder(s);
StringBuilder 内容可变,StringBuilder转Strin toString;
二、继承
1、什么是继承
通过继承使得子类拥有父类的属性和方法
2、优点:复用性;缺点:消弱了子类的独立性
3、访问特点:
(1)变量:子类局部变量>子类成员变量>父类成员;
(2)方法:子类方法>父类方法
4、注意事项
父类私有方法不能被重写;子类的访问权限从高到底为:public、defulat、private
5、其他
(1)super
访问父类的成员方法和变量
(2)重写
(3)具有相同方法名、参数、数据类型、返回值,但是方法体不同
(4)final
被final修饰的类不能被继承;
被final修饰的方法不能被重写;
被final修饰的变量成为常量,不能被赋值不能被继承;
三、多态
1、概念
同一时刻表现出的不同形态(输出方式、调用方法、数据类型
2、多态的三个前提
(1)继承关系
(2)重写
(3)父类指向子类,即向上转型
3、访问特点
成员变量:父类,运行编译;;
成员方法:父类:运行;子类:编译;