Java语言之初步理解面向对象
龚超 2018-07-24 来源 : 阅读 864 评论 0

摘要:在Java语言中,面向对象是一种主流的编程思维,其核心是把现实世界中的对象,对象之间的关系模拟到程序世界中,构造一个软件系统。希望对大家学习Java语言有所帮助。

在Java语言中,面向对象是一种主流的编程思维,其核心是把现实世界中的对象,对象之间的关系模拟到程序世界中,构造一个软件系统。希望对大家学习Java语言有所帮助。

Java 是一种典型的面向对象编程语言。这篇文章主要是来初步理解一下面向对象的思维为下面的内容先给一个基础。针对 Java 面向对象编程的更多内容,会在后面的文章里面详细解释。

面向对象的思维里面有两个重要的概念,对象和类。下面,逐个理解这两个概念。

1. 什么是对象?

一个鼠标,一个小狗,一个男孩,一个足球,美女和汽车,他们都是一个对象,这些都是我们现实世界中客观存在的东西,能看得见,摸得着。他们都称之为“对象”。每个对象都有他的属性和行为,比如小狗,棕色的皮毛,圆圆的眼睛,这是它的属性,小狗可以跑,可以叫,这是它的行为。什么是对象,现在很清楚了:

对象:世界中客观存在的东西,具有自己的属性和行为


2. 什么是类?


下面来理解另外一个重要的概念:类 ,来,先看一下这个图片:美女和汽车,是这个人的认知,是抽象的概念,不是客观存在的具体事物。什么是美女呢,很多女明星都可以称之为美女,五官精致,身材好,所有我们称之为美女,此处的美女不是具体指某一个真实的人,而是一个统称,一个认知对吧。在这里“美女”就是一个类的概念,它是一个对具体对象特性的一个抽象概括,是一个概念。同理,这里的汽车也是一个类的概念。

类:对现实世界对象的抽象总结,一个概念,不是客观存在的。

3. 类和对象的关系


OK,接下来,讨论一下类和对象的关系。上面这个图片中男孩脑袋中产生的一个概念“girl” 是一个类的概念,这个概念具有世界上所有女孩的特征。左边几个不同国家的女孩,则是真实存在的对象,是对“girl”这个概念(类)的具体体现。

再看,汽车的小图,虚线的 car 则是一个类的概念,这里可以把它理解为汽车的设计,也是模板,这里面包含了所有汽车共有的一些属性和行为,右边三个不同颜色不同品牌的汽车,则是真实的对象。他们是根据左边的汽车的模板(类),而生产的不同的可以使用的汽车。所有这里可以理解为类是对象的模板,通过类,可以创建具有共同标准,又有个性差异的对象。

OK,那么来总结一下类和对象的关系:

类是描述一类对象属性和行为的模板(蓝图或者设计),对象是类的一个具体呈现(实现)

4. Java 的面向对象

到这里,已经理解了面向对象的几个重要的概念。那么 Java 编程中到底是怎么来用“面向对象”这种思维模式来编程的呢?

OK,假如你是一个外星人,刚来到地球,看到马路上跑的四个轮子的汽车,搞不懂是什么。这个时候,我用人类的语言来给你解释,像图片中左边部分那样,“汽车是一类什么东西”,那么对于 Java 的事件,则会用 public class Car {}这段代码来描述一个类,下面一个汽车的属性和行为,在 Java 语言中同样也有对应的映射,就是变量和函数。

其实,把人类世界对象,抽象映射到程序世界中的过程,就是面向对象的思维。这个行为一个专业的名字,称为“建模”。之后,我们再用 Java 编程语言,把这种映射编写出来,就是 Java 的面向对象编程啦。好,先理解到这,就可以。


Java面向对象的编程,就像用 Java 语言讲故事,把现实世界抽象、映射到 Java 的世界。

5. 使用对象

现在,已经对面向对象有一个不错的理解了。那么在 Java 中怎么来使用对象呢,在上面的过程中,我们编写了一个 汽车的类(Car),怎么样根据这个汽车的模板,来生产汽车呢。


Java 中创建生产对象的方法,就是使用类的构造方法,来构造对象,对应的代码是这个样子:Car polo = new Car(180,"green", "polo");, 这句代码的意思是,构建了一个速度是180,颜色是green,品牌是polo的汽车对象,并给这个对象指定了一个名字:polo。这个过程也叫new一个汽车对象polo

只有产生对象之后,才可以调用该对象的方法

polo.startup();

这句代码就意思,让polo这个车启动。也就是调用了polo对象的startup方法。

下面是完整的代码,你可以自己来编写几遍,然后执行它。直到你很熟练的自己能够完成。

public class Car {

// 汽车的速度(属性)

int speed;

// 汽车的颜色(属性)

String color;

// 汽车的品牌(属性)

String brand;


//构造方法,用来创造对象

public Car(int speed,String color, String brand) {

this.brand = brand;

this.color = color;

this.speed = speed;

}

// 汽车的启动函数(行为)

void startup() {

System.out.println("汽车启动了......");

System.out.println("品牌:" + this.brand);

System.out.println("颜色:" + this.color);

System.out.println("速度:" + this.speed);

}


// 汽车的行驶函数(行为)

void run(int speed) {

System.out.println("正以" + speed + "的速度狂奔");

}


public static void main(String[] args) {

// 创建了一个汽车对象:polo

Car polo = new Car(180,"green", "polo");

// 创建了一个汽车对象:mini

Car mini = new Car(120,"blue","mini");

// 创建了一个汽车对象:beetle

Car beetle = new Car(100,"red","beetle");


// 调用对象polo的启动方法(汽车的启动行为)

polo.startup();

polo.run(200);


mini.startup();

mini.run(80);


beetle.startup();

beetle.run(130);

}

}

复制代码

控制台输出:

汽车启动了......

品牌:polo

颜色:green

速度:180

正以200的速度狂奔

汽车启动了......

品牌:mini

颜色:blue

速度:120

正以80的速度狂奔

汽车启动了......

品牌:beetle

颜色:red

速度:100

正以130的速度狂奔

复制代码

先使用对象的模板(类)创造对象,之后可以调用对象的行为,读取对象的属性。

总结

OK,最后总结一下几点。来加深一下印象。

对象:世界中客观存在的东西,具有自己的属性和行为。 类:对现实世界对象的抽象总结,一个概念,不是客观存在的。 类和对象:类是描述一类对象属性和行为的模板(蓝图或者设计),对象是类的一个具体呈现(实现)。 Java面向对象的编程:就像用 Java 语言讲故事,把现实世界抽象、映射到 Java 的世界。 对象的使用:先使用对象的模板(类)创造对象,之后才可以调用对象的行为,读取对象的属性。

希望这篇文章可以帮助到你,总之同学们,IT知识尽在职坐标。

本文由 @职坐标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论
本文作者 联系TA

擅长针对企业软件开发的产品设计及开发的细节与流程设计课程内容。座右铭:大道至简!

  • 370
    文章
  • 23117
    人气
  • 87%
    受欢迎度

已有23人表明态度,87%喜欢该老师!

进入TA的空间
求职秘籍 直通车
  • 索取资料 索取资料 索取资料
  • 答疑解惑 答疑解惑 答疑解惑
  • 技术交流 技术交流 技术交流
  • 职业测评 职业测评 职业测评
  • 面试技巧 面试技巧 面试技巧
  • 高薪秘笈 高薪秘笈 高薪秘笈
TA的其他文章 更多>>
WEB前端必须会的基本知识题目
经验技巧 93% 的用户喜欢
Java语言中四种遍历List的方法总结(推荐)
经验技巧 91% 的用户喜欢
Java语言之SHA-256加密的两种实现方法详解
经验技巧 75% 的用户喜欢
java语言实现把两个有序数组合并到一个数组的实例
经验技巧 75% 的用户喜欢
通过Java语言代码来创建view的方法
经验技巧 80% 的用户喜欢
其他海同师资 更多>>
吕益平
吕益平 联系TA
熟悉企业软件开发的产品设计及开发
孔庆琦
孔庆琦 联系TA
对MVC模式和三层架构有深入的研究
周鸣君
周鸣君 联系TA
擅长Hadoop/Spark大数据技术
范佺菁
范佺菁 联系TA
擅长Java语言,只有合理的安排和管理时间你才能做得更多,行得更远!
金延鑫
金延鑫 联系TA
擅长与学生或家长及时有效沟通
经验技巧30天热搜词 更多>>

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程