今天我总结了一下java抽象,我在这里分享一下。
一:什么是抽象? 抽象:整体把握事物,抽取事物的本质东西,剔除次要的东西。 像:抽取事物之后还得让事物像原来的事物。 有些人说,我不会对事物的抽象。(其实我们天天在对事物的抽象,如这个人张的帅,这个人长的美。其实这时就是对他的抽象。) 有时间说,我不会抽象(我们的抽象往往是孤立的,没有发散性的从多个角度进行抽象。比如:踏花归去马蹄香) 抽象:从形象到抽象。比如:踏花归去马蹄香 二:面向对象核心是抽象: 面向对象思想恰好可以使得按照人们通常的思维方式来建立问题域的模型,设计出尽可能自然地表现求解方法。 抽象是指为了某一分析目的而集中精力研究对象的某一性质,它可以忽略其它与此目的无关的部分。 现实世界具有哲学性,客观世界的复杂性,也知道事物包括有多个细节,但此时并不打算去完整地考虑它。 抽象是我们科学地研究和处理复杂问题的重要方法。 三:抽象思维的培养: 1:科学的思维方式,思:思考。维:角度(多个角度看问题。角度决定深度,(梵高的作品一般人眼中这是什么,在画家眼中又是什么) 2:确定从什么角度分析,确定事物是什么类型。(我要这个事物类型,做什么 (比如:java程序员和c程序员看到人,java程序员关注人的两只手,两条腿,会说话,关注状态和功能,c程序员:人是怎么说话的,)) 3:对所有拥有这一特性的事物划归为同一类,通过局部感知整体,得到普遍一般的结论或规律,一个人应该具有良好的哲学思维能力。 4:事物之间存在联系和事物存在相似性。 抽象就是化繁为简,寻找一般规律,一般模式, 编程中的抽象思维: 1:编程编程中抽象思维运用的极为普遍,编程就是把现实问题转化为机器问题,(如:把现实人要抽象成机器人(会说话,有胳膊,有腿。),)进而写成代码。 2:数学,物理就是建立在抽象的基础上 3:画概念图,概念用思维导图来表述他们之间的关系。 4:学会给词语下定义,描述他们的抽象过程。 四:怎样去抽象: (1)比如一棵树。整个一看我们就知道是树,但是为什么第一眼判断是树。这样就要拿树和其它东西比出不一样的地方(树和人比较,树有叶子,而人没有叶子,), 这些不一样的地方就是抽象出来的(树有叶子,而人会说话)。 (2)抽象出来的东西脱离了树本身,也就变得没有意义,但是组合起来就是树的概念。比如一棵树,10米高,树皮粗糙,树叶是针形,树干很直, 那么这些属性组合起来会感觉是一颗松树。但是单独说 10 米,没有对象的话,就不知道这个是说的什么东西。 编程上将对象抽象化是很有用的一个方法,能将枯燥的数据与单一对象对应起来,这样易于理解,也便于编程。 例如对学生的抽象,首先要有名字,再有性别,再有学号。这些就是抽象出来的属性。 抽象时应该把握的原则:特定对象与其属性之间的区别,整体对象与相应组成部分对象之间的区别,不同对象类的构成及其区别等 五:软件开发中抽象过程: (1) 从现实世界中的事物(对象)出发来认识问题和构造系统,分析问题出现的全部对象及其属性,从而使系统能更准确地反映问题域。 (2) 运用日常的思维方法和原则(抽象、分类、继承、封装基本原则)进行系统开发,确定每个对象的具体操作, (3) 对象的概念贯穿于开发过程,分析对象间的联系,确定对象之间的关系 (4) 对象具有相对稳定性和对易变因素隔离,增强了系统的应变能力。 (5) 分析各个对象的外部特性,将具有相同外部特性的对象归为一类,从而确定所需要的类; (6) 确定类间的继承关系,将各对象的公共性质放在较上层的类中描述,通过继承来共享对公共性质的描述; (7) 设计每个类关于对象外部特性的描述 (8) 设计每个类的内部实现 (9) 创建所需的对象,实现对象间应有的联系
