zoukankan      html  css  js  c++  java
  • 面向对象之"三段论"

    突然发现,逻辑学中的三段论其实可以用面向对象思想来解释,而且比用数学的方法解释更容易理解,更能符合人类的思维习惯。

    三段论可概括为这个例子:如‘凡金属都能导电’(大前提),‘铜是金属’(小前提),‘所以铜能导电’(结论)。这称为三段论法或三段论式。
    用面向对象的思想来说,金属是对象,能导电是金属这个对象的方法,而铜这个对象继承了金属这个对象,所以铜也有金属的方法,能导电!怎么样,是不是很Perfect?

    再来一个:一切有神论者都不是唯物主义者;某人是有神论者;所以,某人不是唯物主义者。
    用面向对象的思想来说,有神论者这个对象不继承自唯物主义者,某人这个对象继承自有神论者,所以某人就不继承自唯物主义者(typeOf("某人") != typeOf("唯物主义者")) 再

    来一个:所有大学生都是青年;有的运动员是大学生;所以,有的运动员是青年。
    用面向对象的思想来说,大学生对象继承自青年这个对象,运动员这个对象类型有可能等于是大学生这个对象类型(typeOf("运动员") ?= typeOf("大学生")), 所以,运动员这个对象类型有可能等于青年这个对象类型。

    通过进一步的思考,我发现所谓三段论其实就是对象继承规则的另一种表述方式而已
    第一个例子其实就是子对象继承了父对象的方法而已
    第二个,第三个例子就是自对象继承了父对象的类型而已,或者说是父对象的类型决定了子对象的类型。

    等等,我们好像少了个属性的问题,继承是可以继承属性的,那我们就“创造”一个:
    所有的宅男都费纸,某人是宅男,所以,某人也费纸;这里“费纸”用来形容宅男,是宅男的一个属性(对象的特征)

    综上所述,所谓三段式的推理本质其实就是面向对象的思想。
    我还发现,其实还有很多东西都是面向对象的,例如语言。

    呵呵,有点想法总想表达出来,就是希望各位对在下的这个“理论”提出一些批评、意见、建议等等,个人的思考只能找到门,探讨才是进步的楼梯。

  • 相关阅读:
    leetcode35. search Insert Position
    leetcode26.Remove Duplicates from Sorted Array
    leetcode46.Permutation & leetcode47.Permutation II
    leetcode.5 Longest Palindromic Substring
    [转载] C++中new和malloc的区别
    [转载] C++中的自由存储区和堆
    xCode8以及iOS10 的新特性
    cell上添加倒计时,以及时差问题的解决
    cell的复用机制
    iOS 懒加载模式
  • 原文地址:https://www.cnblogs.com/xiaozhuang/p/3063206.html
Copyright © 2011-2022 走看看