面向对象
来源:互联网 发布:程序员什么时候跳槽好 编辑:程序博客网 时间:2024/06/03 12:07
面向对象 :
面向对象三大基本特征 : 封装 、继承 、多态 .
封装 :
说明 :
- 数据封装 : 隐藏对象的属性 , 控制读取和修改权限 .
- 函数封装 : 将一系列有规律的数据处理整合 , 方便调用 , 提高代码复用率 .
作用 :
对外公开接口 , 有利于控制读写级别 , 使代码模块化 , 更安全 .
继承 :
说明 :
面向对象的核心 , 子类继承父类 , 则子类拥有父类所有 属性 和 功能 , .
作用 :
利于修改和扩展 , 极大提高代码复用率 , 使代码结构层次清晰 .
继承形式 :
- 实现继承 : 最常见的继承形式 , 直接继承父类的属性和方法 , 无需额外的代码 .
- 抽象继承 : 继承接口中的属性和方法 , 并且必须实现接口中的方法 .
- 可视继承 : 子窗体使用父类窗体的外观和实现代码 .
多态 :
说明 :
多态即多种状态 , 不同对象调用同名函数 , 产生不同的效果 .
实现形式 :
重写 ( Override ) : 继承父类 , 重写父类的虚函数 , 不同子类实现方法不一样 , 不同对象调用一个同名函数 , 产生的效果不同 .
重载 ( Overload ): 一个类中出现两个以上同名函数 , 参数不同 , 调用时根据传参来判断具体调用哪个函数 .
作用 :
封装和继承都是为了代码复用 , 而多态的意义是实现接口重用 , 保证一条原型链上的所有实例化对象都可以正确调用 .
重点注意 :
其实重载的概念并不属于面向对象 , 但是大多数人都认为重载也是实现多态 , 这里就把重载也算进来了 , 从本质上讲 , 重载的实现原理是语言特性 , 在一个类出现两个同名函数时 , 例如 func() 和 func(int num) , 根据参数不同 , 编译器会将这两个函数编译成 void_fun 和 int_fun , 再根据调用时 , 的传参情况来决定具体调用哪个函数 , 在编译期间已经将两个函数确定好了 , 都是静态的 , 也就是说他们的地址在编译期间已经绑定好了 , 所以 , 重载与多态无关 .
2 0
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 动态规划----递推
- 初识依赖注入
- Appium 解决异常输入
- 满天星
- UML中静态与动态视图的总体介绍
- 面向对象
- Android 基于Key-Value的缓存管理
- Charles 从入门到精通
- Rxjava详解
- 面试-一道经典的sql语句题
- android自定义View&自定义ViewGroup(下)
- cooseek使用总结
- LeetCode 485. Max Consecutive Ones
- The C++ Programming Language 读书笔记(三)