第一句子大全,网罗天下好句子,好文章尽在本站!

跟我学java编程—理解Java语言的抽象与对象

时间:2011-04-19

抽象是从众多的同类事物中抽取出具有共同特征的过程及方法

友情提示:本文共有 1138 个字,阅读大概需要 3 分钟。

面向对象编程思想的一个基本方法就是抽象。抽象是从众多的同类事物中抽取出具有共同特征的过程及方法。

例如:苹果、香蕉、葡萄等都属于水果类别,假如我们要给水果找出共同特点,就需要抽取(抽象)苹果、香蕉、葡萄的共同特征,舍弃其不同的特征。一般说来苹果、香蕉、葡萄具有汁液多、糖分多、并且还含有挥发性芳香物质、可以生食等特点。具备上述特点的一般都可以归类为水果。

抽象就是对同类事物的概括和归纳,前面例子的苹果、香蕉、葡萄是现实中的事物,人们在品尝的同时,抽取它们共有的特点,并起了一个新名称水果,来概括和归纳具有苹果、香蕉、葡萄共同特点的所有事物。例如:生梨、桃子也具备苹果、香蕉、葡萄的共同特点,因此生梨和桃子也可以归类为水果。

如果以面向对象的编程思想来看前面例子的话,水果可以称之为类,而苹果、香蕉、葡萄可以称之为类的实例或对象。类是抽象出来的事物,现实生活中并不存在,例如水果,水果是人们赋予具有苹果、香蕉、葡萄等共同特点的名称,不单指某一事物;对象是指具体的实物或概念,例如苹果、香蕉、葡萄等对象是实物,而一项政策可能就是一个概念性的对象了,在现实生活中,万事万物皆对象,面向对象编程就是模拟现实生活中的一个个对象来编程的。

现在生活中的许多对象都要进行分类,例如:人类、水果类、动物类、汽车类等。

分类的作用主要是为了便于管理和维护。面向对象的编程思想主要是通过模拟现实世界的各个对象来编程的,那么这些现实世界中的对象是怎样模拟或映射到计算机中的呢?这就要归功与面向对象编程思想的基本方法——抽象。

抽象并不是Java语言中所特有的概念,在其它面向对象的语言中,如C++在构建对象时也需要抽象建模。例如:在学生信息管理系统中,需要将学生的共同特征抽取出来,如学号、学分、性别等特征,构建学生模型。提炼学生共同特征的过程就是抽象建模。通过抽象,可以很容易地归纳出事物的共同特征和行为,以便与其它对象区别开来,这样抽取出来的特征和行为在面向对象的编程中叫做属性和方法。

属性是指对象具有的各种特征,学号、 学分、性别等特征就是学生对象的属性;行为一般用动词描述对象的各种操作。

每个对象的属性都有特定值,根据图11-2可知,学生甲乙和学生丙丁的学号、学分、性别都不一样。

■ 知识点拨

事物抽象的过程也是一个裁剪的过程,事物不同的、非本质性的特征被裁剪掉,留下共同特征。但共同特征也是相对的,例如,对于汽车和大米,从买卖的角度看都是商品,都有价格,是他们的共同的特征,但从其应用方面来看是不同的。所以在抽象时,同与不同,决定于从什么角度上来抽象,抽象的角度取决于分析问题的目的。

■ 思考与练习

家中都有电视机、冰箱、洗衣机等家用电器,请抽象出电视机、冰箱、洗衣机的共同特征,作为家用电器类的属性。

本文如果对你有帮助,请点赞收藏《跟我学java编程—理解Java语言的抽象与对象》,同时在此感谢原作者。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。
相关阅读
跟我学java编程—Java跳转语句—break语句

跟我学java编程—Java跳转语句—break语句

有时可能不知道循环将要执行的次数,终止循环的条件可在以后确定,所以需要提供一种机制在条件满足的时候跳出循环。有时候,我们需要根据条件跳过循环中的一些语句。Java语言提供了break和continue两个关键字,用于改变程...

2023-11-01 #经典句子

跟我学java编程—Java跳转语句—continue语句

跟我学java编程—Java跳转语句—continue语句

continue语句只能用在循环里。continue语句的作用是跳过循环体中剩余的语句而准备执行下一次循环。对于while和do-while循环,continue执行之后的动作是条件判断;对于for循环,随后的动作是变量更新。注意break语句和continue语句的差...

2023-09-30 #经典句子

「每天三分钟跟我学Java」之条件语句和循环结构

「每天三分钟跟我学Java」之条件语句和循环结构

在实际项目中,条件判断和循环结构都是使用频率非常高的知识点,本节我们来看下这两部分。一、条件语句条件语句是对一个布尔型表达式进行判断,true时执行一个分支的操作,false时执行另一个分支的操作。常见的条件判断...

2023-09-10 #经典句子

Java语言编程基础100题期末复习

Java语言编程基础100题期末复习

Java编程基础一、.Java选择题1. 哪种语言是以对象为特征的可视化程序组件?A.过程化程序 B.面向对象的语言 C.机器语言 D.以上都不是2. Java语言在体系结构上是A.定向的 B.抽象的 C.无关的 D.特定的3. 所有Java应用程序必...

2024-01-15 #经典句子

Java中的3个双引号是什么语法?Java15刷新你的认知

Java中的3个双引号是什么语法?Java15刷新你的认知

..." AND author = "栈长"ORDER BY "EMP_ID", "LAST_NAME";直接使用字符串对象的 formatted 实例方法感觉更方便了!四、结语解读 Text Blocks(文本块)远比想象中要难很多,没想到一个文本块这么多细节,文中只是对文本块作了一个部分总结,并...

2017-07-21 #经典句子

这……一名Java程序员到底要会几门语言啊?

这……一名Java程序员到底要会几门语言啊?

...实在在存在的。说白了刘小爱用户就是Java用户类的一个对象。②椭圆形表示是对实体的描述。刘小爱、上海、男、是对用户这个实体的描述。小米手机、红米pro、1400是对订单的描述。也就是Java中对象对应的属性(成员变量)。...

2023-12-05 #经典句子

Java程序员看过来 快速了解Python语言

Java程序员看过来 快速了解Python语言

...出的是该变量的字符串表示,而不是字符串本身。用sys库对象函数输出“Hello World”Python的sys库类似Java的System库,提供标准的输入与输出、获取系统属性等功能。使用sys库,需要使用import语句将该库导入。2、在Python程序中获取...

2011-12-04 #经典句子

深入 Java 源码剖析之字符串常量|CSDN 博文精选

深入 Java 源码剖析之字符串常量|CSDN 博文精选

...中,此时并没有引用,然后new关键字会去创建一个字符串对象,就会在堆内存中创建abc,然后s3变量指向abc。当执行第二句声明时,因为常量池中已经存在abc,所以不会重复创建,而new关键字又会去堆内存开辟空间存放abc,然后s...

2023-10-09 #经典句子