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

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

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

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


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


抽象:

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


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

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

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


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

相关文章推荐

JAVA面向对象之抽象

一、面向对象思想 1.抽象过程 所有编程语言都提供了一套抽象机制(对问题的抽象)。 汇编语言是对底层机器的轻微抽象,C,BASIC语言是对汇编语言的抽象。但是他们在解决问题时依然要求基于计算机的结构(...

EL表达式

EL表达式 EL表达式是Expression Language的简称(表达式语言),他是JSP2.0中引入的一种计算和输出Java对象的语言。只要安装的WEB服务器支持Servlet2.4/JSP2....

精选:深入理解 Docker 内部原理及网络配置

网络绝对是任何系统的核心,对于容器而言也是如此。Docker 作为目前最火的轻量级容器技术,有很多令人称道的功能,如 Docker 的镜像管理。然而,Docker的网络一直以来都比较薄弱,所以我们有必要深入了解Docker的网络知识,以满足更高的网络需求。

面向对象地本质-抽象

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

谈谈面向对象 之 抽象

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

Java面向对象深入

Java面向对象续实现桌面画图形

深入java面向对象三:抽象类和接口(转载)

文章系转载,地址: http://blog.csdn.net/xw13106209/article/details/6923556

Java 基础知识(二)之面向对象技术

1.    面向对象与面向过程的区别        面向对象把数据及对数据的操作方法放在一起,作为一个互相依存的整体,即对象。对同类对象抽象出其共性,即类,类中的大多数数据,只能被本类的方法进行处理。...

面向对象--抽象类

当编写一个类时,常常会为该类定义了一些方法,这些方法用以描述该类的行为方式,那么这些方法都有具体的方法体。 但在某些情况下,某个父类只是知道子类应该包含怎样的方法,但无法准确的知道这些子类如何实现这...

Java系列(二)之面向对象

Java系列(二)之面向对象一、认识什么是面向对象1、什么是面向对象面向对象是针对面向过程的,面向对象从执行者变成了指挥者。不用自己亲自去做某件事,直接调用方法即可。2、面向对象的特点①将复杂的事情简...

JAVA之面向对象(一)

类与对象 基础知识 JAVA里面可以是任意一个合法的标识符,但从可读性的角度上看,java类名必须是由一个或多个有意义的单词连缀而成,每个单词首字母大写,其余字母小写,单词直接不使用任何分隔符。 ...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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