面向对象

面向对象 :

面向对象三大基本特征 : 封装 、继承 、多态 .


封装 :

说明 :

  • 数据封装 : 隐藏对象的属性 , 控制读取修改权限 .
  • 函数封装 : 将一系列有规律的数据处理整合 , 方便调用 , 提高代码复用率 .

作用 :

对外公开接口 , 有利于控制读写级别 , 使代码模块化 , 更安全 .


继承 :

说明 :

面向对象的核心 , 子类继承父类 , 则子类拥有父类所有 属性 和 功能 , .

作用 :

利于修改扩展 , 极大提高代码复用率 , 使代码结构层次清晰 .

继承形式 :

  • 实现继承 : 最常见的继承形式 , 直接继承父类的属性和方法 , 无需额外的代码 .
  • 抽象继承 : 继承接口中的属性和方法 , 并且必须实现接口中的方法 .
  • 可视继承 : 子窗体使用父类窗体的外观和实现代码 .

多态 :

说明 :

多态即多种状态 , 不同对象调用同名函数 , 产生不同的效果 .

实现形式 :

  • 重写 ( Override ) : 继承父类 , 重写父类的虚函数 , 不同子类实现方法不一样 , 不同对象调用一个同名函数 , 产生的效果不同 .

  • 重载 ( Overload ): 一个类中出现两个以上同名函数 , 参数不同 , 调用时根据传参来判断具体调用哪个函数 .

作用 :

封装和继承都是为了代码复用 , 而多态的意义是实现接口重用 , 保证一条原型链上的所有实例化对象都可以正确调用 .

重点注意 :

其实重载的概念并不属于面向对象 , 但是大多数人都认为重载也是实现多态 , 这里就把重载也算进来了 , 从本质上讲 , 重载的实现原理是语言特性 , 在一个类出现两个同名函数时 , 例如 func() 和 func(int num) , 根据参数不同 , 编译器会将这两个函数编译成 void_fun 和 int_fun , 再根据调用时 , 的传参情况来决定具体调用哪个函数 , 在编译期间已经将两个函数确定好了 , 都是静态的 , 也就是说他们的地址在编译期间已经绑定好了 , 所以 , 重载与多态无关 .

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值