前言
类和对象, 在我们学习 Java 语言的过程中, 它们无时无刻不存在着, 在我们还远未详细弄明白它们的意义之前, 在我们不知不觉的下意识里, 我们都会直接或间接的用到它们, 这是因为 Java 是一门面向对象的语言, 在学习类与对象的前提下, 我们应当先对面向对象有所了解.
我们都知道, Java 语言是一门面向对象的语言, 实际上类与对象, 就是面向对象编程思想的重要基础.
面向对象编程思想概述
面向对象的开发思想可以说是人类最自然的一种思考方式, 它将所有预处理的问题抽象成为对象, 同时了解这些对象的相应属性以及展示这些对象的行为, 以解决这些对象面临的一些实际问题, 面向对象设计的实质就是对现实社会中的对象进行建模操作.
对象
对象是什么, 按表面意思理解, 对象就是表示我们眼中的某件事物. 它可以是现实世界的任何一件事物, 也可以是一个抽象的, 我们自己脑海中构造的.
对象就是某个事物存在的实体, 就例如人类, 书桌, 高楼大厦等, 人类解决问题的方式总是不断将复杂的事物简化, 于是就会思索这些对象由哪些组成, 通常会将对象划分为静态部分和动态部分.
静态部分, 即对象不变的部分, 称之为属性. 任何对象都具有其自身属性.
动态部分, 即对象可能存在的行为, 动作. 如一个人会哭泣, 微笑, 行走奔跑等.
人们通过研究对象的属性和行为来了解对象.
而面向对象抽象设计的思想, 就是以对象来思考问题的, 首先将现实世界中的实体抽象为对象. 然后考虑这个对象具备的属性和行为.
我们通过一个大雁南飞的问题来看看:
首先我们将大雁抽象为一个对象, 接着观察分析对象, 大雁因该具有的属性和行为:
我们分析完成后, 这个对象的定义就完成了, 然后就可以根据这个对象来解决大雁南飞的问题.
我们还可以发现, 在现实生活中, 很多大雁都具有这样的特性, 而大雁又不只一只, 所以我们就将这些属性和行为封装起来, 就组成了类, 对象就是类抽象出来的一个实例. 这其中的原理和图书馆图书的分类类似, 具有某些特征的书归为一类存放, 而这类里的书都可以说是这个类别的一个实例.
类
类, 其实就如同我们日常生活中的类别一样, 指的是具有某一类相同特性的一类事物, 描述的是一个群体, 类不能用来单指某个事物, 所以也不能当作某一事物来使用.
类是构造对象时所依赖的规范 (因为对象都是基于类创建的). 对象就是符合某个类的定义所产生出来的实例.
类是封装对象的属性和行为的载体. 也可以说具有相同属性和行为的一类实体被称为类.
在 Java 语言中, 类中对象的行为是通过方法的形式定义的, 对象的属性是以成员变量定义的.
面向对象程序设计的特点
封装性
封装是面向对象编程的核心思想, 将对象的属性和行为封装起来, 其载体就是类, 类通常对用户隐藏其实现的细节, 这就是封装思想, 其实很容易理解, 我们在使用某一方法时, 只需要通过类. 方法名调用, 不用了解其实现细节.
采用封装的思想保证了类内部数据结构的完整性, 应用类的用户不能轻易的直接操作类的数据结构. 只能执行类允许公开的数据. 这样就避免了外部操作对内部数据的影响, 提高了程序的可操作性.
继承性
类和类之间同样有着联系这种联系有很多种, 其中比较典型的关系之一就是继承, 就像是图书分类一样, 有着层层分级的关系, 其中小类同样拥有其父类的属性和方法, 这就是继承关系. 继承性主要用到特定对象之间共有属性.
多态性
前面我们了解了继承, 知道了父类与子类的关系, 多态就是将父类对象应用与子类的特征. 多态的实现不依赖于具体的类, 而是依赖于接口可抽象类的. 在多态的机制中, 比抽象类更方便的方式是将抽象类定义为接口. 由抽象方法的集合就是接口. 接口的概念在现实生活中也是十分常见的.
关于类, 对象, 及三大特性, 接口, 抽象类, 抽象方法等概念会在后面单独出一篇文章专门学习, 这里主要是为了简单了解下面向对象的编程思想.
***
更新时间:
2019-4-8
1:09
来源: https://www.cnblogs.com/gemuxiaoshe/p/10668315.html