本篇学习面向对象的四大基本特性的定义及其作用.
封装
封装, 也就是访问控制,
封装可以隐藏一个类或对象的内部实现, 只展示必要的接口行为;
封装限制了外部程序对内部属性的访问, 提高了代码的可维护性;
同时客户端程序员只需要关注公开的方法, 提高了代码的易用性.
抽象
无论是设计单个对象, 还是多个对象之间的关系, 都要强调外部行为, 忽略其使用细节, 也就是面向接口编程;
良好的抽象可以设计出更易维护和扩展的程序.
继承
从语言的语法机制层面, 定义对象与对象之间的 is-a 关系, 提高了代码的复用性, 但同时也可能带来代码的高耦合.
Java 只支持单继承, 确保了所有对象都有统一的行为, 方便开发;
有些语言支持多继承, 如 C++, 语言更灵活, 但是会出现菱形继承问题, 需要程序员自己去构建统一的对象层次结构.
多态
父类对子类进行引用, 程序可以根据父类所引用的实际子类而产生不同的行为;
通过语言的支持, 多态提供了面向接口编程的一种应用方式, 提高了代码的复用性, 以及可扩展性.
打卡
打卡5:
今天学习: 设计模式05课, 面向对象四大特性
收获: 总结了面向对象的概念, 描述了其意义以及所解决的问题.
封装
通过语言提供的语法机制, 限制客户端程序对一个类或对象内的属性和接口的访问.能够集中管理改变对象属性和状态的方式, 提高了代码的可维护性;
限制对接口的访问, 从接口的角度, 客户端只需关注对象的外部行为, 无需考虑其内部实现;抽象
是一种设计思想, 强调接口定义外部的行为, 而忽略内部实现.不仅是设计单个类时, 而且可以应用在一个模块中的类的设计, 面向接口编程.
继承
通过语言提供的语法机制, 定义类与类之间的 is-a 关系, 实现代码复用, 但同时也可能带来很高代码耦合性.多态
是对面向接口编程的应用, 可以提高代码的可复用性和可扩展性.