java面向对象,封装性,继承性

218 阅读2分钟

​java面向对象,封装性,继承性

 封装性:

java给我们提供了4种权限修饰符【private,缺省,protected,public】,当我们在进行编程时可以使用4种权限修饰符来修饰类及类的内部成员,当这些成员被调用时可以体现其可见性的大小;

理论上我们编写程序时应做到“高内聚,低耦合”,让类的数据细节自己完成,不许外部来干涉,并且只暴露少量的方法供外部调用,尽量方便外部调用。

例如我们在创建类的时候使用private来修饰类的属性,不让外部直接调用,并且提供了get,set方法,供外部调用类内的属性

屏幕截图 2023-10-31 163543.png 那么我们使用封装性有啥好处吗?

封装性的好处:

1.提高代码的安全性,避免了代码之间的调用错乱;
2.提高代码的复用性;

补充:虽然权限修饰符有4中但实际上常用的只有2种,在开发中private,public的使用更加频繁

继承性:

理解:

1.在编写代码时,我们定义了一个类命名为A(随便写的,开发中命名要见名知意),在定义另一个类的时候,发现B和A的功能相似,这时就要考虑让B去继承A;

2.当我们定义了多个类【B,C,D等类】,B,C,D等类都有相似的属性与方法,这时我们就考虑将这些类中相似的属性和方法抽取出来,封装到类A中,以A为父类让其他的类来继承A;

继承性的作用:

当类B继承于类A时【此时B为子类(subclass)A为父类(superclass)】类B就获得了类A中的所有属性和方法并且可以进行拓展,但实际上由于封装性的影响类B可能无法调用类A中的全部属性和方法。

示例;

父类

屏幕截图 2023-10-31 170349.png 子类:

屏幕截图 2023-10-31 171402.png 屏幕截图 2023-10-31 171415.png 可以看到子类对象可以调用自身的属性和方法也可以调用父类中的属性和方法,这就是继承性

继承性的好处:

减少了代码的冗余,提高了代码的复用性,有利于功能的拓展

为多态的使用提供了前提

拓展:类的继承性为单继承性【只能继承一个父类】

默认的父类:

Java程序中,如果没有显示声明其父类则默认继承于java.lang.Object

Java支持多重继承,其父类与子类的关系是相对的,对于一个子类来说,其直接父类只有一个

但是间接父类可以有很多个。