面向对象编程的基本知识

面向对象与面向过程

面向过程:一开始是为了科学计算而出现的(就像算数学题一样,就是一步一步解题的过程)。编程的方法是自顶向下。代码的主体:程序=数据(变量)+算法(函数/过程)(这感觉就像在刷题的时候遇到的那些题)。通过函数/过程操纵表现世界的数据与状态。

面向对象:后来软件应用领域的扩张,是为了模拟现实世界的(现实世界就像人与人的交往一样)。编程方法是自底向上。代码的主体:程序=对象+交互(实际项目中才会有那么多的对象和交互吧)。把世界描绘成具有主动性的对象之间交互。

对象

对象可以指自然界中的任何事物;计算机为解决某个领域问题所使用的事物(自然界中的事物的模型化);事物(对象)具有自身的特征或能力;计算机中的对象具有解决问题所需的特征或能力。

对象的特征

封装:将模型的特征和能力打包在一起;模型的改变由模型自身来完成,就像自然界的事物一样;隐藏模型的细节,外界只能使用它,而不必/不能改变他。

继承:符合自然界的分类规律;快速的代码重用。

多态:子类可以继承父类的特征与能力,还可以自定义修改其特征与能力;鸭子类型(后面补充)。

组合:一个模型可以由其他模型组成

练习去:

一款简单自动运行小游戏模拟:在一维的地图上,有一只虫子和一只蚂蚁。
每一次他们都走过一个-3,-2,2,3个随机单位的距离(选定走法,若达
到地图边界则放弃移动)。当蚂蚁、虫子处于同一位置时,蚂蚁吃掉虫子,
程序结束。

面向过程:

面向对象:

写的又全又好:https://blog.csdn.net/weixin_44239490/article/details/86357989#1%E3%80%81%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1%E7%9A%84%E7%BC%96%E7%A8%8B---object%20oriented%20programming

发布了72 篇原创文章 · 获赞 7 · 访问量 8975

猜你喜欢

转载自blog.csdn.net/CHERISHGF/article/details/105252444
今日推荐