-
1.浅谈面向对象思想
- 知识回顾
- 在java基础中我们学习的只是java的皮毛,但是也是最基础,最重要的了
- 路漫漫其修远兮,我等还需继续努力学习新的知识.
- 前面肯定见过new StringBuffer("");new int[]….,当时没有解释,是因为这不是一,两句话能说清楚的,new是什么呢?且听我后面java高级章节中细细道来.
- 什么是思想
- 我的理解
- 也称为观念(心里的打算):人如此多,可见思想是如此复杂,只能从相同点浅谈了
- 思想是不分好坏,但结果却分利弊
- 思想具有时段性,事务的变化会影响思想的变化(两者是相互的,时间是见证者)
- 百度百科的解释(我表示看不懂,咬文嚼字,)
- 思的定义
- 意识运动的引起是为思,思是意识的顺向运动
- 想的定义
- 目的性的意识行为是为想。想是意识的逆向运动
- 思想
- 运动的意识”称为思想。思想是意识的向导发生
- 思想的作用
a. 影响人的行为
b. 影响事务的发展
c. 举例说明(不扯了,太多就偏题了)
1. 毛主席思想(我晕+_+:毛zhedong内容违规)
1. 思想内容
1. 农忖包围坡市的革命道路
2. 统一战线
2. 分析
1. 对毛主席的影响:个人价值的实现,伟大领袖毛主席,指引我们向前进
2. 对当时时代的影响:推翻资本主义,建立新中国,进入社会主义新时代
2. 一国两治思想….太多了
- 我们应该拥有什么样的思想(以下虽不一定能使你幸福,但是必不会让你痛苦)
- 对生活:积极乐观
- 对学习:勤奋进取
- 对亲人:感恩珍惜
坚持如上思想,个人行为便是有意义的,事务的发展便是向上的
- 理解面向对象思想
- 什么是"面向对象思想"((Object-Oriented Programming)
- 将事务转换成对象后,思考解决问题的方法
- 面向对象是把构成问题的事务分解成各个对象,而建立对象的目的也不是为了完成一个个步骤,而是为了描述某个事物在解决整个问题的过程中所发生的行为。
- 浪漫式恋爱:你笑时像天上的太阳,温暖我心;你哭时像天上的乌云,忧郁我神;我的世界全是你;我的眼里只有你.我们在一起吧!
- 思想的起源(辅助理解此思想)
- 面向过程编程采取的是时间换空间的策略,因为在早期计算机配置低,内存小,如何节省内存则成了首要任务,哪怕是运行的时间更长。随着硬件技术的发展,硬件不再成为瓶颈,相反更好的模拟现实世界、系统的可维护性等问题凸显出来,于是面向对象设计应运而生。
- 当下:应用在PC机上的一般应用系统,由于不太需要考虑硬件的限制,而系统的可维护性等方面却要求很高,一般采用面向对象方式;
- 而在内存限制有所要求的嵌入式系统,则大多采用面向过程方式进行设计编程。
- 扩展理解"面向过程"思想(Procedure Oriented)
- 是一种以过程为中心的编程思想。这些都是以什么正在发生为主要目标进行编程,不同于面向对象的是谁在受影响。
- 面向过程是分析解决问题的步骤,然后用函数把这些步骤一步一步的实现,然后在使用的时候一一调用则可
- 直白式恋爱:你有车不?你有房不?有存款有6位数不?没实现,别来找我!
- 举例理解
- 如果要开发一款"五字棋游戏",用这两种思想编程是如何的呢?
- 面向过程
1、开始游戏,
2、黑子先走,
3、绘制画面,
4、判断输赢,
5、轮到白子,
6、绘制画面,
7、判断输赢,
8、返回步骤2,
9、输出最后结果。
把上面每个步骤用分别的函数来实现,问题就解决了。
- 面向对象
- 划分功能
1、黑白双方,这两方的行为是一模一样的,
2、棋盘系统,负责绘制画面,
3、规则系统,负责判定诸如犯规、输赢等。
- 划分对象
- 第一类对象:玩家对象负责接受用户输入,,并告知第二类对象(棋盘对象)棋子布局的变化
- 第二类对象:棋盘对象,接收到了棋子的变化就要负责在屏幕上面显示出这种变化
- 第三类对象:规则系统对象,对棋局进行判定
- 如果需要加入"悔棋"功能怎么办呢?
- 面向过程
- 从输入到判断到显示这一连串的步骤都要改动,甚至步骤之间的循序都要进行大规模调整
- 面向对象
- 只用改动棋盘对象就行了,棋盘系统保存了黑白双方的棋谱,简单回溯就可以了,而显示和规则判断则不用顾及,同时整个对对象功能的调用顺序都没有变化,改动只是局部的
- 做一个项目
- 面向过程
- 一件事情按照一定的顺序,从头到尾一步一步地做下去,先做什么,后做什么,一直到结束
- 这种思想比较单打独斗,其实这也是一个人做好事的方法
- 面向对象
- 把一个项目、一件事情分成更小的项目,或者说分成一个个更小的部分,每一部分负责什么方面的功能,最后再由这些部分组合而成为一个整体
- 这种思想比较适合多人的分工合作,就像一个大的机关,分成各个部门,每个部门分别负责某样职能,各个部门可以充分发挥自己的特色,只要符合一定前提就行了
- 总结
- 面向过程
- 解决问题虽简单明了但固守死板
- 适合解决小问题
- 面向对象
- 解决问题虽思考颇多但易于扩展
- 适合解决复杂性问题
- 深入理解
- 面向过程
- 过程化程序设计先确定算法,再确定数据结构;面向对象编程先确定数据结构,再确定运算
- 面向过程编程的程序员,习惯于建立数据结构存放数据并定义方法(函数)来操作数据
- 不是在写函数,就是在思考如何写好函数
- 面向对象
- 面向对象编程的程序员则构造一个对象模型,将数据与方法组织在一起
- 它描述的是对象之间的相互作用。
- 以类的方式封装代码,以对象的方式组织代码
- 面向对象与面向过程的联系与区别
- 区别
- 面向过程与面向对象明显的不同就是:它没封装、继承、多态,类,对象这些概念
- 联系(前者包含后者)
面向过程其实是最为实际的一种思考方式,就算是面向对象的方法也是含有面向过程的思想。可以说面向过程是一种基础的方法。它考虑的是实际地实现。一般的面向过程是从上往下步步求精,所以面向过程最重要的是模块化的思想方法。对比面向过程,面向对象的方法主要是把事物给对象化,对象包括属性与行为。当程序规模不是很大时,面向过程的方法还会体现出一种优势。因为程序的流程很清楚,按着模块与函数的方法可以很好的组织。比如拿学生早上起来这件事说明面向过程,粗略的可以将过程拟为:
(1)起床
(2)穿衣
(3)洗脸刷牙
(4)去学校
而这4步就是一步一步地完成,它的顺序很重要,你只需要一个一个地实现就行了。而如果是用面向对象的方法的话,可能就只抽象出一个学生的类,它包括这四个方法,但是具体的顺序就不一定按照原来的顺序。
- 面向对象思想的好处
- 易扩展维护
- 符合人思考问题的方式:易开发(分工合作)
- 编程语言用了那些思想
- 面向对象(主流的都是,或将来会变成)
- java,c#,python
- 面向过程
- 纯面向过程:函数是全部:一个main函数中调用 一个个子函数。程序的运行主要是函数写得好不好,再者就是函数和循环的复杂度。
- 都支持
- PHP:同时可以应用面向过程和面向对象方式编程
-
相关阅读:
java中的多线程
PSCollectionView瀑布流实现
直接拿来用!最火的iOS开源项目(一~三)
iOS6新特征:UICollectionView介绍
mac os颜色拾取工具/软件/器推荐
ios/object-c中的UIColor一些比较偏的颜色展示/示例
UIColor和 同 CIColor 与 CGColor 之间的联系、转换
IOS开发自定义CheckBox控件
IOS常用的第三方开发库
JVM -XX: 参数介绍
-
原文地址:https://www.cnblogs.com/River111/p/9545691.html
Copyright © 2020-2023
润新知