前言
巅峰迎来虚伪的拥护,黄昏见证真正的信徒。
本系列文章介绍关于java面向对象的概念、类与对象的关系、封装、继承、this关键字、static关键字、单例设计模式、多态、内部类、异常等Java基础知识。
在说面向对象之前,先介绍一下什么是对象?
一、什么是对象?
对象是面向对象编程的核心。对象就是现实世界的实体,对象与实体是一一对应的,即现实世界中的每一个对象都是一个实体。
对象的特点:
- 对象具有唯一性。
- 对象具有属性和行为。
- 对象具体变化的状态。
- 对象都是某个类别的实例。
举例:学校里,有老师和学生的实体,学生的属性有学号、专业、班级等,学生的行为有吃饭、学习、睡觉等。对学生这样的实体有一个抽象的描述,这种描述称为“类”。而在学校里有很多的同学,比如张同学、胡同学等,这些具体的个体就称为“对象”,而对象也被称为“实例”。
二、什么是面向对象?
面向对象简称OO(Object Oriented),即把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。
提到面向对象,就不得不提面向过程。
面向过程就是面向过程就是分析解决问题所需要的步骤然后用函数把这些步骤一一实现,使用的时候一个一个的依次调用即可。
面向对象而是把解决的问题按照一定的规则划分为多个独立的对象,然后通过调用的对象的方法来解决问题。
在这里,我们通过举一个面向过程的例子来帮助我们理解面向对象。
问题:将大象装进冰箱。
我们都知道,将大象装进冰箱需要三步。即把冰箱门打开;将大象放进冰箱;关上冰箱门。
面向过程强调的是过程和过程中所涉及的行为、动作和过程。
如果我们将这个问题用面向对象的思想来思考就是,不管是打开冰箱,放进大象,关闭冰箱。这期间所有的操作(行为)都是操作冰箱这个对象。所以我们只要在冰箱这个对象上定义所具备的功能即可,自此冰箱就有打开、存储和关闭的功能。
我们通过这个例子可知,面向对象可以将复杂的问题简单化,只需要通过对象去实现所需要的功能。
- 总的来说,面向对象是高度实物抽象化,面向过程是自顶向下的编程。