Java语言是纯粹面向对象的程序设计语言,这主要表现为Java完全支持面向对象的三种基本特征:继承、封装和多态。Java语言完全是以对象为中心,Java程序的最小程序单位是类,整个Java程序是由一个一个的类组成的。
结构化开发方法和面向对象开发方法
结构化开发方法
代表语言:
前期的C、Basic、Pascal语言都是结构化开发语言
原理:
结构化开发方法是主张按功能来分析系统需求,就是将系统分成若干个功能模块,然后每个模块对应着实现这种功能的函数。
原则:
自上而下,逐步求精,模块化。
局限性:
1.设计不够直观,开发的时候开发者要将对应的实体分解成功能,每种功能要完成特定的数据处理。
2.适应性差,可扩展性不强。由于这种设计方式是自上而下的,所以当需求上有修改的时候,就需要自上而下修改模块,这样的维护成本是很高的。
结构化开发方法
面向对象开发方法
代表语言:
Java、C#、C++
原理:
面向对象顾名思义就是面向现实世界的事物,软件开发的核心就是以现实世界的事物为中心。这种方式合乎人类的思维,相对开发起来会容易一点。
基本特征:
封装、继承、多态
- 封装就是将对象实现的细节隐藏起来,通过一些公用的方法来展示对象的功能。这样做的目的就是保护封装中的代码,类以外的程序只能通过公用方法调用被封装的类,无法修改和直接访问。用封装的方法可以提高模块内的关联,削弱模块之间的关联,也就是高内聚,低耦合。
- 继承就是子类可以继承父类的非静态属性和方法,但是这些只能被继承而不能被重写。非静态的方法是可以被子类继承和重写的,这其实就是多态的表现了。(Java只能继承单继承,也就是每个类只能有一个父类)
- 在Java中要实现多态必须要满足三个条件:继承,重写,向上转型。
继承:继承就是存在父类和子类的关系
重写:重写就是子类要对父类的方法进行重新定义。
向上转型:向上转型就是将子类的引用赋给父类对象,只有这样该引用才能可以调用父类方法,又可以调用子类方法。
类和对象的区别
对象的抽象就是类,类的实例就是对象。这个实际上就是将现实和编程语言联系起来的桥梁,对象是代表着现实的桥墩,类代表这程序的桥墩。
优点:
1.可重用性好,高效的开发效率
因为面向对象的方式是面向现实实例,所以开发起来直接明了。另外其特性封装、继承和多态都能提高代码的复用率,所以随着开发的进行,相对来说开发效率会逐渐提高。
2.可维护性好,程序会比较稳定。
面向对象开发的程序只存在对象之间的关系,在修改功能和维护的时候,只会牵涉到对应部分的类。易于修改和易于维护决定了程序会是稳定的。
3.适用于各种系统开发
这种方法会大大降低开发的复杂性,所以在面对大型系统开发的时候,这种开发方式可以是降维性地降低难度。
面向对象开发逻辑图
面试试题重点:
1.面向对象开发的基本特征,优点。
2.对面向对象三个基本状态的理解。