深入Java系列——面向对象之(一)——抽象

原创 2015年11月18日 16:30:31

  此次对于java的学习,可谓是很轻松的一个过渡。在软考过程中不知不觉就和她成为好盆友了。从之前的VB、C#、C++基础学习,到现在的java,一个感受就是编程语言大概都是一样的,无非都是指挥机器按照规定去干活的工具罢了 。

  至于编程思想,也就都是那么回事儿,简而言之:我们在使用计算机来解决生活中问题的过程中运用的思维方式,就是编程思想。也可以说是编程的原则,或者说是编程过程中的约定。比如说:面向对象的前辈们,就提出来要将数据及其相关行为放到一起,封装起来,作为一个类来使用,把类作为最小的程序单元。这就是一种的编程约定或者说是原则,也就是咱们耳熟能详的面向对象的编程思想了。


  在面向对象的编程思想中,其基础的就是抽象,也是面向对象思想的特征之一,也是面向对象的本质特征。此次在学习Java语言的时候,对于java中面向对象中面向对象部分做了一个小结。不当之处,还望大家可以拿出来好好交流,要是觉得讲的还可以的,帅哥美女们捧个人场,给点个赞塞!


抽象:

   从哲学的角度来讲,抽象它其实就是一个过程。一个提炼存在于事物之间共同拥有的元素的过程,就叫抽象。而这些事务之间共同拥有的元素往往是这一事物区别于其他事物关键的东西,这些元素就构成了事物的本质。所以,抽象作为面向对象的基础,其实也是面向对象的本质或者说是面向对象的核心。


   例如:现实生活中我们有男人啊、女人啊等等((当然咱们也许还要算上泰国那一群……额),从他们身上提炼共同的特征:都拥有大脑,眼睛,耳朵(属性)、……且会思考、能说话、可以直立行走(方法)……,这就是他们之间的共同元素。拥有这样特性的东西嘞,我们管他叫“人”,换句话说,只要是人就必须满足以上所有共同特征,这是人的本质特征,区别于其他事物的关键。但是满足了以上的特征还真不一定是个人,还可能是个“畜生”(例如:一些直立行走的猴子……)。上述提炼公共元素的过程就是所谓的抽象。

   编程世界中,抽象主要有两种:一种是过程抽象,将问题域中具有明确功能定义的操作抽取出来,并将其作为一个实体看待。对于软件系统结构的设计显得有些武断,并且稳定性差,导致很难准确无误地设计出系统的每一个操作环节。一旦某个客体属性的表示方式发生了变化,就有可能牵扯到已有系统的很多部分。另一种是数据抽象,数据抽象是较过程抽象更高级别的抽象方式,将描述客体的属性和行为绑定在一起,实现统一的抽象,从而达到对现实世界客体的真正模拟。后者是运用了面向对象的思想进行的抽象。由此可见抽象,并不是面向对象的专利啊……

   在数据抽象中,抽象的基础是数据及其操作,也就是对现实生活中、问题域中的对象进行抽象。随着抽象级别的提高,分别抽象出来的产品:对象——类(普通/具体类)——抽象类——接口。


版权声明:本文为博主原创文章,大家喜欢的话,多多转载吧!

谈谈面向对象 之 抽象

一、引言 在上一篇博客中,我们谈了面向对象的基本概念,从这篇开始,我们谈谈面向对象的几个特征:抽象、封装、继承、多态。我们首先要谈的特征是抽象。 不止一位同事将抽象这一特征排除在外,认为面向对象有三个...
  • hxtan
  • hxtan
  • 2013年12月09日 08:45
  • 3516

面向对象地本质-抽象

   什么是面向对象的本质?近日在阅读一位网友在CSDN博客上发表的文章,作者认为对象,对象的职责,以及对象之间的交互构成了OO思想的本质。在我看来,抽象更接近OO思想的本质。我是从以下几点考虑的:1...
  • houdy
  • houdy
  • 2006年06月07日 20:28
  • 3847

面向对象-抽象类

3:抽象类(掌握) (1)把多个共性的东西提取到一个类中,这是继承的做法。     但是呢,这多个共性的东西,在有些时候,方法声明一样,但是方法体。     也就是说,方法声明一样,但是每个具体...
  • u014644701
  • u014644701
  • 2015年02月13日 19:37
  • 229

面向对象与Java实现(抽象类、接口

  • 2012年05月14日 13:12
  • 177KB
  • 下载

面向对象—抽象

面向对象分析与设计的主要任务是,找出类和对象,构建对象模型。 对象模型的主要要素:抽象、封装、模块化与层次结构。 对象模型的次要要素:类型、并发、持久。 抽象描述了一个对象的基本特征...
  • luoxinwu123
  • luoxinwu123
  • 2012年12月28日 09:42
  • 5800

抽象的概念,对象的概念,面向对象和面向过程的区别

1.什么是抽象 抽象就是把一个对象的分析出各个属性,来代替表达的手法 抽就是分离,象就是表示出来的部分 比如说把一个学生对象抽象一下,就剩下他的一些属性和行为,例如姓名,性别,年龄,身高,学习的...
  • maixinyue
  • maixinyue
  • 2016年10月20日 23:03
  • 1021

面向对象之抽象

abstract class Animal {     abstract void enjoy(); } class Dog extends Animal {     void enjoy...
  • Prince140678
  • Prince140678
  • 2016年07月06日 16:28
  • 124

一次简单的面向对象抽象

最近拿起《Windows程序设计(第5版珍藏版)》来看,其中第3章的那个演示程序可谓是Windows程序的经典写法。条理清晰,结构明了,几乎没有什么好挑剔的了。代码如下: #include LRE...
  • tangrong02
  • tangrong02
  • 2016年06月23日 19:52
  • 162

抽象: 程序员必备的能力

在软件业,抽象能力的重要性怎么说都不为过,因为软件开发是一个高度复杂的智力活动,程序员经常需要面对、处理异常复杂的业务和逻辑,如果你不具备强大的抽象能力,无法把具体变成概念,进而驾驭概念进行思考,...
  • nylx
  • nylx
  • 2013年08月09日 13:28
  • 5955

如何抽象出一个类

面向对象程序的单位就是对象,但对象又是通过类的实例化出来的,所以我们首先要做的就是如何来声明类, 做出来一个类很容易,只要掌握基本的程序语法定义规则就可以做的出来,那么难点在那里呢? 一个项目要用到多...
  • Cleardandykao
  • Cleardandykao
  • 2017年03月21日 13:59
  • 298
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深入Java系列——面向对象之(一)——抽象
举报原因:
原因补充:

(最多只允许输入30个字)