java面向对象深入理解

  1. 面向对象

    1. 以类/对象为组织代码的基本单元
    2. oop:面向对象编程
    3. ooa:面向对象分析
    4. ood:面向对象设计
  2. 封装,抽象,继承,多态
    创建好的时候就确定:在构造函数中初始化

    1. 封装:访问权限控制(private,protected,public)
      1. 作用:隐藏/保护访问数据,外部仅能通过有限的接口访问、修改内部数据
      2. 易用性
      3. 可维护性
    2. 抽象:隐藏方法具体实现
      1. 隐藏实现
      2. 关注功能点而不是实现
    3. 继承:表示类之间is-a关系
      1. 作用:代码复用
      2. 坏处:继承多导致可读性,可维护性差
    4. 多态:
      1. 作用:子类可替换父类
      2. 两个类具有相同的方法,就可以实现多态
      3. 提高可扩展性,可复用性
  3. 面向对象比面向过程优势

    1. 特点:
      1. 面向过程:代码被组织成一组方法集合及其数据结构,方法数据结构分开
      2. 面向对象:方法和数据结构绑定在一起,类中
    2. 优点
      1. 能够因对大规模复杂程序开发
        1. 业务建模
        2. 翻译成类
        3. 建立交互关系
        4. 搭积木一样,按处理流程,将类组装成程序
      2. 易复用,易扩展,易维护
        1. 封装:数据与方法绑定
        2. 抽象:隐藏实现
        3. 继承:复用代码
        4. 多态:子类替换
      3. 人性化,高级,智能
  4. 哪些看是面向对象实际面向过程

    1. 不要滥用getter,setter方法
    2. 全局变量全局方法:
      1. 拆解为功能单一的多个类
    3. 贫血开发模式:数据方法分离
  5. 接口与抽象类的区别

    1. 抽象类
      1. 表示is-a关系
      2. 代码复用
    2. 接口
      1. 表示has-a关系
      2. 侧重于解耦
  6. 为什么基于接口而非实现编程

    1. 越抽象、越顶层、越脱离具体的设计,越能提高代码的灵活性。
    2. 接口是一组“协议”或者“约定”
    3. 接口意识,抽象意识,封装意识
    4. 接口:将实现和接口分离,封装不稳定的实现,暴露稳定的接口
  7. 多用组合少用继承原因

    1. 继承问题:继承层次过深,继承关系过于复杂会影响代码可读性与可维护性
      1. 问题及处理
        1. is-a关系:用组合和接口替代
        2. 多态:用接口
        3. 代码复用:组合与委托
      2. 使用场景:
        1. 结构稳定
        2. 继承层次浅
        3. 继承关系不复杂
      3. 解决:组合,接口,委托
    2. 组合
      1. 使用场景
        1. 系统不稳定
        2. 继承层次深
        3. 继承关系复杂
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值