面向对象的三大特征

1.封装性:
把该隐藏的影藏起来,该暴露的暴露出来,这就是封装性的设计思想。
封装性的体现:
我们将类的属性xxx私有化(private),同时,提供公共的(public)方法来获取(getxxx)和设置(setxxx)此属性的值
拓展:封装性的体现—1.如上 2.不对外暴露的私有的方法 3.单例模式…
封装性的体现需要权限修饰符来配合。
1.Java规定的4种权限(从小到大排列):private,缺省,protected,public
注:修饰类的话,只能使用缺省和public

2.继承性的好处:
1.减少了代码的冗余,提高了代码的复用性
2.便于功能的扩展
3.为之后多态性的使用提供了前提

体现:一旦子类继承父类以后,子类就获取了父类声明的所有的属性和方法,特别的,父类中声明为private的属性或方法,子类继承父类以后,仍然认为获取了父类中私有的结构。只是因为封装性的影响,使得子类不能直接调用父类的结构而已。

子类继承父类以后,还可以声明自己特有的属性或方法,实现功能的扩展。

3.多态性:
(1)理解多态性 可以理解为一个事物的多种形态。
(2)何为多态性:
对象的多态性,父类的引用指向子类的对象(或子类的对象赋给父类的引用)
例: Person p = new Man();
(3)多态的使用:
有了对象的多态性以后,我们在编译期,只能调用父类中声明的方法 但在运行期,我们实际执行的是子类重写父类的方法。
总结:编译看左边,运行看右边
(4)多态性的使用前提:
类的继承关系;
方法的重写
(5)对象的多态性:只适用于方法,不适用于属性(编译和运行都看左边)

你可能感兴趣的:(笔记)