对OOP的理解
2024-08-31 06:41:44
OOP是面向对象编程Object Oriented Programming,特征分别是封装、继承、多态、抽象。
封装:封装是指将对象信息状态通过访问权限修饰符隐藏在对象内部,不允许外部程序直接访问,如果外部程序要访问对象内部,可以调用内部提供的get或set方法。简单来说,封装就是要找出某一类事务的公性然后提取出来。
继承:子类继承了父类所有的成员方法和属性,并且可以拥有自己特性。继承解决了代码的重用问题
多态:多态存在的三个条件1.继承2.重写3.父类引用指向子类对象
多态的实现方式1.接口实现,继承父类方法重写,同一个类中进行重载
重载:多个同名函数同时存在,具有不同的参数个数/类型,返回值类型可以相同可
以不同,调用方法时通过传递给它们的不同参数个数和参数类型来决定具体使用哪个方法, 这就是多态性,存在于父类和子类、同类中
重写:1.参数列表必须完全与被重写的方法相同
2.返回的类型必须一直与被重写的方法的返回类型相同
3.访问修饰符的限制一定要大于被重写方法的访问修饰符
4.重写方法一定不能抛出新的检查异常或者比被重写方法申明更加宽泛的检查型异常
5.存在于父类和子类之间,方法被定义为final不能被重写。
抽象:如果一个类含有抽象方法,则称这个类为抽象类,抽象类必须在类前用abstract关键字修饰。因为抽象类中含有无具体实现的方法,所以不能用抽象类创建对象。
抽象方法必须为public或者protected(因为如果为private,则不能被子类继承,子类便无法实现该方法),缺省情况下默认为public。
最新文章
- (JS+CSS)实现图片放大效果
- linux驱动开发之块设备学习笔记
- Centos安装jdk
- ModernUI教程:第一个ModernUI应用(手动编写)
- 转 cocos2d-x 优化(纹理渲染优化、资源缓存、内存优化)
- php延迟加载的示例
- 制作简易计算器处理结果Servlet
- 【开源项目12】Retrofit – Java(Android) 的REST 接口封装类库
- 黑盒测试用例设计方法&;理论结合实际 ->; 判定表驱动法
- NetSerialComm的基本使用方法
- C++中单链表的建立和操作
- UVA 10603 Fill
- 强大的修图app--美图秀秀
- 基于linux vim环境python代码自动补全
- Linux CentOS 6.5 配置网络
- log4j源码解析-文件解析
- springboot~为Money类型添加最大值和最小值的注解校验
- java比较排序Comparable和Comparator
- dojo Datagrid 实现数据删除功能
- Chinese remainder theorem again(中国剩余定理)