[Java初探07]__关于面向对象的简单认识
- 前言
类和对象,在我们学习Java语言的过程中,它们无时无刻不存在着,在我们还远未详细弄明白它们的意义之前,在我们不知不觉的下意识里,我们都会直接或间接的用到它们,这是因为Java是一门面向对象的语言,在学习类与对象的前提下,我们应当先对面向对象有所了解.
我们都知道,Java语言是一门面向对象的语言,实际上类与对象,就是面向对象编程思想的重要基础.
- 面向对象编程思想概述
面向对象的开发思想可以说是人类最自然的一种思考方式,它将所有预处理的问题抽象成为对象,同时了解这些对象的相应属性以及展示这些对象的行为,以解决这些对象面临的一些实际问题,面向对象设计的实质就是对现实社会中的对象进行建模操作.
- 对象
对象是什么,按表面意思理解,对象就是表示我们眼中的某件事物.它可以是现实世界的任何一件事物,也可以是一个抽象的,我们自己脑海中构造的.
对象就是某个事物存在的实体,就例如人类,书桌,高楼大厦等,人类解决问题的方式总是不断将复杂的事物简化,于是就会思索这些对象由哪些组成,通常会将对象划分为静态部分和动态部分.
- 静态部分,即对象不变的部分,称之为属性.任何对象都具有其自身属性.
- 动态部分,即对象可能存在的行为,动作.如一个人会哭泣,微笑,行走奔跑等.
人们通过研究对象的属性和行为来了解对象.
- 而面向对象抽象设计的思想,就是以对象来思考问题的,首先将现实世界中的实体抽象为对象.然后考虑这个对象具备的属性和行为.
我们通过一个大雁南飞的问题来看看:
首先我们将大雁抽象为一个对象,接着观察分析对象,大雁因该具有的属性和行为:

我们分析完成后,这个对象的定义就完成了,然后就可以根据这个对象来解决大雁南飞的问题.
我们还可以发现,在现实生活中,很多大雁都具有这样的特性,而大雁又不只一只, 所以我们就将这些属性和行为封装起来,就组成了类,对象就是类抽象出来的一个实例.这其中的原理和图书馆图书的分类类似,具有某些特征的书归为一类存放,而这类里的书都可以说是这个类别的一个实例.
- 类
类,其实就如同我们日常生活中的类别一样,指的是具有某一类相同特性的一类事物,描述的是一个群体,类不能用来单指某个事物,所以也不能当作某一事物来使用.
类是构造对象时所依赖的规范(因为对象都是基于类创建的).对象就是符合某个类的定义所产生出来的实例.
类是封装对象的属性和行为的载体.也可以说具有相同属性和行为的一类实体被称为类.

在Java语言中,类中对象的行为是通过方法的形式定义的,对象的属性是以成员变量定义的.
面向对象程序设计的特点
- 封装性
封装是面向对象编程的核心思想,将对象的属性和行为封装起来,其载体就是类,类通常对用户隐藏其实现的细节,这就是封装思想,其实很容易理解,我们在使用某一方法时,只需要通过类.方法名调用,不用了解其实现细节.
采用封装的思想保证了类内部数据结构的完整性,应用类的用户不能轻易的直接操作类的数据结构.只能执行类允许公开的数据.这样就避免了外部操作对内部数据的影响,提高了程序的可操作性.
- 封装性

- 继承性
类和类之间同样有着联系这种联系有很多种,其中比较典型的关系之一就是继承,就像是图书分类一样,有着层层分级的关系,其中小类同样拥有其父类的属性和方法,这就是继承关系.继承性主要用到特定对象之间共有属性.

- 多态性
前面我们了解了继承,知道了父类与子类的关系,多态就是将父类对象应用与子类的特征.多态的实现不依赖于具体的类,而是依赖于接口可抽象类的.在多态的机制中,比抽象类更方便的方式是将抽象类定义为接口.由抽象方法的集合就是接口.接口的概念在现实生活中也是十分常见的.
关于类,对象,及三大特性,接口,抽象类,抽象方法等概念会在后面单独出一篇文章专门学习,这里主要是为了简单了解下面向对象的编程思想.
***
更新时间:
2019-4-8
1:09
[Java初探07]__关于面向对象的简单认识的更多相关文章
- [java初探06]__排序算法的简单认识
今天,准备填完昨天没填的坑,将排序算法方面的知识系统的学习一下,但是在简单的了解了一下后,有些不知如何组织学习了,因为排序算法的种类,实在是太多了,各有优略,各有适用的场景.有些不知所措,从何开始. ...
- [java初探10]__关于数字处理类
前言 在我们的日常开发过程中,我们会经常性的使用到数字类型的数据,同时,也会有众多的对数字处理的需求,针对这个方面的问题,在JAVA语言中.提供解决方法的类就是数字处理类 java中的数字处理类包括: ...
- [java初探09]__关于java的包装类
前言 在Java语言的学习过程中,我们逐渐的理解了Java面向对象的思想,与类和对象的应用.但是在基本数据类型的使用上,我们无法将其定义为一个对象,通过使用对象的方法来使用它们,但是Java语言的思想 ...
- [Java初探08]__简单学习Java类和对象
前言 在前面的学习中,我们对面向对象的编程思想有了一个基本的了解,并且简单的了解了类和对象的定义.那么类和对象在Java语言中是如何表现的,这次,就从实际出发,学习一下一下类和对象在Java语言中的使 ...
- [java初探05]__数组的简单认识及Arrays类的常用方法
数组是具有相同数据类型的一组数据的集合.在程序设计中,这样的集合称之为数组.数组的每个元素都具有相同的数据类型,在Java中数组也被看为一个对象. 在里,了解了数组的定义之后, 我们知道了,数组并不是 ...
- [Java初探04]__字符串(String类)相关
前言 接下来将暂时将重心偏移向实际操作,不在将大量时间花费在详细的知识点整理上,将会简略知识总结笔记的记录,加强实际练习的时间,实例练习篇也不再同步进行,我会将部分我觉得重要的源码更新在每节知识点后面 ...
- [java初探总结篇]__java初探总结
前言 终于,java初探系列的学习,要告一阶段了,java初探系列在我的计划中是从头学java中的第一个阶段,知识主要涉及java的基础知识,所以在笔记上实在花了不少的功夫.虽然是在第一阶段上面花费了 ...
- Java第五次作业--面向对象高级特性(抽象类与接口)
Java第五次作业--面向对象高级特性(抽象类与接口) (一)学习总结 1.在上周完成的思维导图基础上,补充本周的学习内容,对Java面向对象编程的知识点做一个全面的总结. 2.汽车租赁公司,出租汽车 ...
- JAVA使用POI读取EXCEL文件的简单model
一.JAVA使用POI读取EXCEL文件的简单model 1.所需要的jar commons-codec-1.10.jarcommons-logging-1.2.jarjunit-4.12.jarlo ...
随机推荐
- PreTranslateMessage(MSG* pMsg)专题
.. BOOL CQuickMosaicDlg::PreTranslateMessage(MSG* pMsg) { if (pMsg->message==WM_KEYDOWN) //键盘按下 { ...
- 读书笔记 Bioinformatics Algorithms Chapter5
Chapter5 HOW DO WE COMPARE DNA SEQUENCES Bioinformatics Algorithms-An_Active Learning Approach htt ...
- 手机开发-IOS
IOS 语言.Object-C,苹果公司收购的语言,专用于IOS开发,是C语言的超集,面向对象的. 开发环境.一是XCode,是苹果的IDE,提供了控件.二是Instruments,测试性能用,收集显 ...
- (最长上升子序列 并记录过程)FatMouse's Speed -- hdu -- 1160
http://acm.hdu.edu.cn/showproblem.php?pid=1160 FatMouse's Speed Time Limit: 2000/1000 MS (Java/Other ...
- noip第23课作业
1. 营救 铁塔尼号遇险了!他发出了求救信号.距离最近的哥伦比亚号收到了讯息,时间就是生命,必须尽快赶到那里. 通过侦测,哥伦比亚号获取了一张海洋图.这张图将海洋部分分化成n*n个比较小的单位,其 ...
- 修改vsftpd的默认根目录
修改ftp的根目录只要修改/etc/vsftpd/vsftpd.conf文件即可: 加入如下几行: local_root=/var/www/html chroot_local_user=YES ano ...
- 一些仪器的解码程序(delphi)
http://www.jiandande.com/html/ITzixun-jishu/Lisyanjiuyuan/2013/0204/1600_3.html 看了后觉得不错,可能有需要的 ----- ...
- 分形之皇冠(Crown)
皇冠分形曲线 核心代码: static void FractalCrown(const Vector3& vStart, const Vector3& vEnd, Vector3* p ...
- 利用github搭建个人maven仓库
之前看到有开源项目用了github来做maven仓库,寻思自己也做一个.研究了下,记录下. 简单来说,共有三步: deploy到本地目录 把本地目录提交到gtihub上 配置github地址为仓库地址 ...
- python 操作mysql数据库之模拟购物系统登录及购物
python 操作mysql数据库之模拟购物系统登录及购物,功能包含普通用户.管理员登录,查看商品.购买商品.添加商品,用户充值等. mysql 数据库shop 表结构创建如下: create TAB ...