加载中...

面向对象概述

一、类和对象

  对象是事物存在的实体。而对象可以分为两部分,即静态部分和动态部分。静态部分,顾名思义,就是不能动的部分这部分称为“属性”,任何对象都会具备其自身属性,比如一个人的高矮、胖瘦、性别等等。然而具有这些属性的人会执行那些动作也是值得探讨的一个部分,这个人可以哭泣、微笑、行走,这些事这个人具备的行为(动态部分)。

  类实质上就是封装对象属性和行为的载体,而对象则是类抽象出来的一个实例。

  JAVA语言中,对象的行为-------->方法的形式定义

                        对象的属性-------->成员变量

    面向对象程序设计具有的特点: 继承性、封装性、多态性

二、继承

  类与类之间具有关系,这种关系被称为关联。关联主要描述两个类之间的一般二元关系,例如,一百货公司类与销售员类就是一个关联,学生类与教师类也是一个关联,两个类之间的关系有很多种,继承是关联的一种。

  在我们设计软件时,使用继承思想可以缩短软件开发的周期,复用那些已经定义好的类 可以提高系统性能,减少系统在是哦用过程中出现错误的概率。

  继承性主要利用特定对象之间的共有属性。例如,平行四边形是四边形,正方形、矩形也是四边形,平行四边形与四边形具有共同的特性,就是拥有4个边,可以将平行四边形类看做四边形的延伸,平行四边形复用了四边形的属性和行为,同时添加了平行四边形独有的属性和行为,比如平行四边形的对边平行且相等。这里可以将平行四边形看做是从四边形中的继承。在java语言中将类似于平行四边形的类称为子类,将类似于四边形的类称为父类或者超类。值得注意的是,可以说平行四边形是特殊的四边形,但是不能说四边形是平行四边形,也就是说子类的实例都是父类的实例,但是不能说父类的实例是子类的实例。

 

 

 

 

 

三、封装

  封装是面向对象编程思想的核心思想。将对象的属性和行为封装起来,其载体就是类,类通常对客户隐藏其实现细节,这就是封装的思想。例如,用户使用计算机时,只需要使用手指敲击键盘就可以实现一些功能,无需知道计算机内部是如何工作的。即使知道计算机的工作原理,但是在使用计算机时也并不完全依赖于计算机工作原理这些细节。

  采用封装的思想保证了类内部数据结构的完整性,应用该类的用户不能轻易地直接操作数据结构,只能执行类允许公开的数据。这样避免了外部操作对内部数据的影响,提高了程序的可维护性。

 

四、多态

  老师给我说过一种,让我记忆犹新。形状类是一种类,而三角形、圆形、正方形分别是形状类的子类,如果实现形状类,将其进行实例化,则分别会得到三角形、圆形、正方形这样的对象。我们把一个类的实现方法实现之后得到多种实例叫做多态。

  将父类对象应用于子类对象的特征就是多态。依然以图形类来说明多态,每一个图形都有绘制自己的能力,这个能力可以看做是该类具有的行为,如果将子类的对象统一看做是父类的实例对象,这样当绘制图形时,简单地调用父类也就是图形类绘制图形的方法即可绘制任何图形,这就是多态最基本的思想。

  多态允许以统一的风格编写程序,已处理种类繁多的已存在的类及相关类。该统一风格可以由父类来实现,根据父类统一风格的处理,可以实例化子类的对象。由于整个事件都依赖于父类的方法,所以日后只要维护和调用父类的方法即可,这样就降低了维护的难度,节省了事件。

 

  提到多态不得不提  抽象类和接口,因为多态的实现并不依赖与具体类,而是依赖于抽象类和接口。

  在java语言中,抽象类不能实例化对象,在多态的机制中,父类通常会定义被定义为抽象类,在抽象类中给出一个方法的标准,而不给出实现的具体流程,实质上这个方法也是抽象的,如图形类中的“绘制图形”方法只能提供一个可以绘制图形的标准,并没有提供具体绘制图形的流程,因为没有人知道究竟需要绘制什么形状的图形。

  在多态的机制中,比抽象类更方便的方式是将抽象类定义为接口。由抽象方法组成的集合就是接口。接口的概念在实现中也极为常见,如从不同的五金店买来螺丝帽和螺丝钉,螺丝帽和螺丝钉可以很轻松的拧上去,可能螺丝帽和螺丝钉的厂家不同,但是这两个物品可以轻易的组合在一起,这是因为生产螺丝帽和螺丝钉的厂家都遵循着一个标准,这个标准在Java中就是接口。 依然拿“绘制图形来说明”,可以将“绘制图形”作为一个接口的抽象方法,然后使图形类实现这个接口,同时实现“绘制图形”这个抽象方法,当三角形类需要绘制时,就可以继承图形类,重写其中的“绘制图形”方法,并且改写这个方法为“绘制三角形”,这样就可以通过这个标准绘制不同的图形。

                          2020   3.13记载

 

 

 

 

 

 

 

 

 

 

 

  

posted @ 2020-03-13 14:51  以后只能做  阅读(154)  评论(0)    收藏  举报