了解面向对象和面向过程的编程方法

电脑杂谈  发布时间:2020-04-08 05:19:44  来源:网络整理

高中生物育种方法和过程包括基因工程知识点总结_面向过程的方法_价值流管理:面向全局供应链的精益方法

面向对象和面向过程之间的区别?

如果谈论面向对象和面向过程之间的特定区别,则最深入的地方应该是查看设计模式. 我推荐有关设计模式的书,这更好. 我只是简单描述一下. 重点是如何执行面向对象和面向过程的编程. 只有当您可以编程时,您才能真正理解面向对象编程和面向过程编程之间的区别. 否则,一切都在纸上.

面向过程: 编程以线性的计算机思维方式完成. 一步一步来. 本身没有问题,但是如果需求有变化,或者功能的添加和删除会极大地影响原始程序代码,则必须重写或修改或重新组织原始代码.

高中生物育种方法和过程包括基因工程知识点总结_面向过程的方法_价值流管理:面向全局供应链的精益方法

面向对象: 当需求变化时,整个程序的代码不受影响. 如有必要,可以对其进行扩展而不会影响程序的主要逻辑. 特别是以后采用优秀的设计模式,将极大地适应需求. 变化,易于扩展和许多其他问题. 因此,它非常流行,并且在面向对象的语言中层出不穷. 经典的是C ++面向过程的方法,JAVA,以及现在更流行的Python,甚至是大数据编程和Scala编程(将函数式编程和面向对象的编程相结合).

面向对象的程序设计和面向过程的程序设计?

举一个小例子,约瑟夫问题(一组孩子围成一个圈,给它们编号,然后在几个孩子中将其删除,然后从下一个孩子中编号1,不断删除)<

价值流管理:面向全局供应链的精益方法_高中生物育种方法和过程包括基因工程知识点总结_面向过程的方法

面向过程的程序设计: 首先编写孩子的数据结构,孩子自己的信息+孩子的下一个指针(该指针存储下一个节点的地址). 另外,节点被写入. 在谈论这些相关节点时,它们被组合成一个没有头节点的循环列表. 自然,有一个buildCyLink(int len,头部指针)方法. 然后编写一个printLink(头指针)方法,最后在主函数中以一种非常线性的方式逐个调用这些方法. (此示例中的关键点是节点与节点之间存在关系. 例如,您必须进行组装以构建二叉树. 这种情况也是如此. 需要将多个节点组装成二叉树. )

面向对象的编程: 首先创建一个子类(子类自己的信息,+指向下一个节点(引用)),然后组装这些节点之间的关系,然后自然拥有这些节点的数据信息. (面向对象的一个​​非常重要的想法是,拥有数据信息的人都有可以操纵数据信息的方法). 因此,在创建CycLink类时,该类包含数据节点,节点数,建立节点关系的方法和显示节点信息的方法.

注意: 在C ++中,节点之间的关系由指针指示: p-> next = q; (p的下一个节点是q). p = q,(指示p和q指向相同的节点). 在Java中: object p.next attribute = object q; (表

高中生物育种方法和过程包括基因工程知识点总结_价值流管理:面向全局供应链的精益方法_面向过程的方法

表示对象p的下一个对象是q)对象p =对象q(两者指的是同一事物).

3. 面向对象编程的一般思想

首先是抽象: 将普通事物抽象为类或数据结构,这与数据结构节点的抽象相同.

面向过程的方法_高中生物育种方法和过程包括基因工程知识点总结_价值流管理:面向全局供应链的精益方法

以KNN算法为例面向过程的方法,许多点需要抽象为点类,并且点和点需要计算距离. 此时,可以将它们抽象为距离类. 要进行未知分类点和训练集点的验证,则面向对象需要拥有这些训练集数据和未知点数据,然后自然就有操作这些数据的方法,欧式计算,mostOfType()等方法. 可以将其编写为一个类,而其他类只需负责调用该类以实现功能.

4. 面向对象的MVC模式灵感

接口层: 在接口层做事.

模型层: 负责特定的业务逻辑

控制层: 负责控制判断和跳跃.

每一层: 拥有每一层的数据,自然有操作这些数据的方法,另一层负责调用.


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-167863-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      • 西艾尔
        西艾尔

        这次的mv也太洗脑了感觉我智商捉急

      • 马丽娟
        马丽娟

        出去看看大千世界

      热点图片
      拼命载入中...