本质
面向对象技术本质上是人组织代码的一种方式。
首先,使用它进行编码是方便的,因为我们不需要关心核心算法的实现,只需要考虑整体流程就可以写出功能强大的程序。
然后,按照一定规范去使用它,合理的利用多态,可以让软件修改起来方便。
最后,这种技术也是适合多人协作进行编程的。
在理想情况下,我们用面向对象的技术,可以更快的实现一个软件设计,出现了问题也能更快的修改。
封装
描述一类事物。
一类事物区别与其他类事物,是因为特征和行为不同。
给事物按照特征和行为分门别类符合人的经验习惯,人的头脑中也存在很多这样的分类。
于是,我们在类中,用字段描述特征,用方法描述行为。
继承
描述分类的层级关系。
现实的事物,总是根据不同层级的标准,由大类逐渐分到小类中的。就像是生物的分类,有界门纲目科属种等7个层级。
于是,我们使类可以被继承,通过继承子类可以拥有父类的特征和行为,并且可以在此基础上添加自己新的特征和行为。
构造函数
描述特定的事物。
同一类事物中,个体之间的差异,是因为某些特征具有略微的不同。
于是,我们使用构造函数,给字段赋初值,来表示这些不同之处,来创造这些独一无二的个体。