面向对象是什么?

    个人理解:面向对象就是把某件事、某样东西,抽象成一个整体对象。例如:张三是一名老师,这里张三其实就是一个对象,老师是他的职业,也就是他的属性。

面向对象的三大特性

  • 继承

        - 简单的理解就是类与类之间的联系、层次结构,例如:子类继承父类的方法、属性,提高了代码的复用。
  • 封装

        - 按字面意思理解,就是把某样东西封住,包装起来。其实这里面封和装分别针对的是数据和功能,将数据和处理过程封起来,对外提供出相应的方法供调用。这样也提高了代码的复用,减少维护的工作量。
  • 多态

        - 简单的理解就是,一个对象,它有不同的形态。在代码中最直接的表现就是重载,同一个方法名,对应不同的入参,进行不同的操作。

小小的总结

    日常开发中,我个人比较追求使用更简洁、更高效的代码来实现某个功能,那么对面向对象的分析和理解,特别是三大特性的理解,在什么时候应该怎么用,有效的让代码更加的简洁。这在设计的时候显得尤为重要。其实面向对象还有很多很多的东西,这里只是对其有个简单的认识。