面向对象的编程模型。

面向对象的编程模型。

从1980‘s开始成为主流编程模型逐步发展到现在,可以说,面向对象的编程模型(基于类的编程模型)、从概念上已经变得模糊不清、甚至是混乱不堪。自Java以来,大多数新诞生的编程系统都要给自己打上对象或者类的标签。而这些不同的编程系统对于类的理解与界定是自行其是、自圆其说的,甚至有的更是为了与他人不同而制造不同。如何系统化的整理分类这些面向对象的编程模型(基于类的编程模型)?

  1. 从派生的角度分析:以C++为代表的、使用派生树来管理规划系统的编程模型可以叫做长派生(长继承)对象系统;以Python为代表的、更自由简化的派生编程模型可以叫做短派生(短继承)对象系统。
  2. 从系统设计模型分析:长派生对象系统的优势在于可以实现以树状结构为代表的复杂结构化系统;短派生对象系统通常会选择平面化系统构型。
  3. 从类构建的范式选择分析:以C++为代表的严格范式类系统,以Python为代表的宽松类范式系统,以Java为代表的、类中含有main函数的、以类为主的编程系统。
  4. 从根类的选择分析:大多数基于类的编程模型都选择和C++一样以object类为根类,以Python(以self类为根类)为代表的自有根类系统。
  5. 从类编译的体积分析:以C++和Python为代表的瘦编译类,以Java为代表的胖编译类;通常瘦编译类更快速一些但是功能也比较简单,胖编译类功能更丰富一些。
  6. 对于以长派生方式通过派生树构建系统的方案设计,需要注意:根类、基础类、核心类的选择与组织,派生主线的规划。(例如:C++以object类为根类、以string和stream类为基础类,python以self为根类、以person类为保镖类。)

你可能感兴趣的:(java,开发语言,c++)