Zookeeper使用 properties 全局重载运算符 matrix mobile mysqli foreach path arm vue插件库 后台系统模板 nginx视频 最新更新国内最快的dns db2从入门到精通 手机banner常用尺寸 matlab定义空矩阵 nodejs后端开发 磁盘清理会误删东西吗 vue与html5 flutter优缺点 python正则表达式 python多线程 input函数python python可视化编程 java数据库连接 java数据 java环境配置 javapattern java数组追加 java定义字符串 丁丁下载 listpreference 魔兽改图工具 xflow 大势至usb监控 sdm439 国都证券官网下载 sendto函数 jsp源码下载 鼠标速度怎么调
当前位置: 首页 > 学习教程  > 编程语言

面向对象:封装性、继承性、多态性总结

2021/2/13 16:28:59 文章标签: 测试文章如有侵权请发送至邮箱809451989@qq.com投诉后文章立即删除

文章目录一、封装性1.针对属性的封装性2.针对方法的封装性3.权限修饰符的大小关系4.具体的权限范围二、继承性1.继承性的好处2.子类和父类的关系三、多态性1.多态性的理解2.何为多态性3.多态的使用4.向下转型5.instanceof关键字一、封装性 封装性就是将对象内部的复杂性隐藏起…

文章目录

  • 一、封装性
    • 1.针对属性的封装性
    • 2.针对方法的封装性
    • 3.权限修饰符的大小关系
    • 4.具体的权限范围
  • 二、继承性
    • 1.继承性的好处
    • 2.子类和父类的关系
  • 三、多态性
    • 1.多态性的理解
    • 2.何为多态性
    • 3.多态的使用
    • 4.向下转型
    • 5.instanceof关键字


一、封装性

封装性就是将对象内部的复杂性隐藏起来,只是对外部公开简单的接口,便于外界调用,从而提高系统的可扩展性、可维护性。通俗的说,就是把该隐藏的隐藏起来,该暴露的暴露出来。

1.针对属性的封装性

将类的属性设为私有的(private),并提供set或者get方法。此时,针对属性就体现了封装性。

2.针对方法的封装性

不对外暴露的私有方法

3.权限修饰符的大小关系

private < 缺省 < protected < public

4.具体的权限范围

在这里插入图片描述

二、继承性

1.继承性的好处

①、减少了代码的冗余,提高了代码的复用性
②、便于功能的扩展
③、为多态性的使用提供了前提

2.子类和父类的关系

①、一旦子类A继承了父类B以后,子类A中就获取了父类B中声明的所有属性和方法(特别的:父类中声明为private的属性或者方法,子类继承父类以后,仍然认为子类继承了父类中的私有结构,只是因为封装性的影响,使得子类不能直接调用父类的私有结果。)
②、子类继承父类以后,还可以声明自己特有的属性或者方法,用来实现功能的拓展。
③、格式:class A extends B

注意点:

①、一个类可以被多个类继承。
②、一个类只能有一个父类。
③、子类直接继承的父类为:直接父类、 间接继承的父类:间接父类(理解为爷爷类)。

三、多态性

1.多态性的理解

一个事物的多种形态

2.何为多态性

父类的引用指向子类的对象。
举例:

Person p = new Man();

这对Man来说也叫做向上转型

3.多态的使用

虚拟方法调用:有了对象的多态性之后,我们在编译期,只能调用父类中声明的方法,但是在运行期,我们实际执行的是子类重写父类的方法。(多态对属性不管用)

4.向下转型

有了对象的多态性以后,内存中实际上是加载了子类特有的属性和方法的,但是由于变量声明为父类类型,导致编译时,只能调用父类中声明的属性和方法。子类特有的属性和方法不能调用。如何才能调用子类特的属性和方法?使用向下转型。
向下转型后,就可以使用子类特有的方法和属性了。

5.instanceof关键字

在向下转型的过程中,有可能会出现 ClassCastException 的异常,所以在转型之前,使用 instanceof来对该类进行判断。
举例:

if(a instanceof A){// 判断对象a是否是类A的实例,如果是返回true 否则返回 false
A a = (A)a;//将对象a转为类A的对象
} 


本文链接: http://www.dtmao.cc/news_show_700035.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?