什么是OOP?--《JAVA编程思想》01

本文介绍了JAVA中的对象概念,通过线上图书馆系统举例,阐述了对象作为程序构建基础的角色。对象包含状态(属性)、行为(方法)和标识(内存地址)。程序由对象集合构成,不同对象间通过方法调用通信。每个对象都有其类型,并能接收相同类型的消息。本文总结了对象的五个基本特性,帮助读者深入理解面向对象编程。
摘要由CSDN通过智能技术生成

JAVA是一门基于面向对象程序设计(简称OOP)的语言,那么对象究竟是什么呢?

入门的时候,时常听JAVA老司机们念叨:“万物皆对象”。首先,我们必须明白编程是为了解决现实中的问题,以建立一个线上图书馆系统为例,需要管理的最底层对象便是“书籍”,要把“书籍”抽象为计算机语言中的模型,便是我们熟知的对象。

一般称问题存在的地方为“问题空间”,对问题进行建模的地方为“解空间”,编程就是要打通两个空间的联系。例如“书籍”拥有名称、作者、版号等信息,我们将这类字段定义为对象得属性,表示不同书籍的状态;“书籍”需要保存书签、检索等功能,我们便在“书籍”中编写不同的方法,表示“书籍”的不同行为;每一本“书籍”都是独一无二的,它在内存中拥有唯一的(标识)地址。

“书籍”通常是摆放在“书架”上,我们继续定义“书架”的属性:书架号、容纳书籍数、层数、长度、宽度、高度等信息;并为“书架”编写方法,提供上架、下架等功能。有时我们需要拿取“书架”上的某本“书籍”,此时“书架”和“书籍”之间便需要进行通信,需要在“书架”内编写查找本书架上某本书籍的方法,通过此方法返回“书籍”对象,又可通过“书籍”对象执行“书籍”相关的(行为)方法。

不同的对象拥有不同的类型,比如“书籍”是“书籍”,“书架”是“书架”,它们具有不同的属性和方法。但是“书籍”拥有可扩展性,小说、传记、教辅这类都属于书籍,但确拥有不同的特性,不过都还是能统称为“书籍”,我们在下篇文章中会继续介绍。

总的来说,对象拥有五个基本特性:

1.万物皆对象
任何待求解得问题都可以抽象成程序中的对象。

2.程序是对象的集合
程序是由不同的对象组成,不同的对象互相发送调用请求,来实现各种功能,从而构建成系统。

3.每个对象对象都可由其他对象构成
可以通过现有对象来构建新的对象,比如我们构建“书架”时,可以定义“书架”中的“书籍”拥有哪些属性或者方法。在构建复杂的体系时,可以将其复杂性隐藏在对象得简单性之后。

4.每个对象都拥有类型
每个对象都是基于某个类(class)来构建得实例,每个类中拥有不同的属性和方法。

5.某一特定类型的所有对象可以接收同样的消息
“小说”是书籍,“传记”也是书籍,它们内部可以根据的自身特性定义不同的方法(“小说”提供获取小说主要人物的方法,“传记”提供获取所有大事记的方法),它们都是基于“书籍”对象演化而来,也都可以提供获取书籍名称的方法,供其他对象调用。

如果你觉得上述的5条有些繁琐,那还有更加简洁的描述:对象具有状态(属性)、行为(方法)和标识(唯一内存地址)。

本次分享至此结束,希望本文对你有所帮助,若能点亮下方的点赞按钮,在下感激不尽,谢谢您的【精神支持】。

若有任何疑问,也欢迎与我交流,若存在不足之处,也欢迎各位指正!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BaymaxCS

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值