既然是面向对象,那最重要的概念无非是对象。我们面对的一切事物其实都是对象。对象有它的固有属性和固有方法,其实对象也就是由一个属性集合和一个方法集合组成的。这可以结合 Java 理解,在 Java 中对象是类的实例,而每个类都定义了一系列的属性和方法。
然后说到类,这也是一个重要的概念。类,很简单,是一类对象的集合,它不是一个具体的集合,而是一种抽象描述,而描述方式就是此类对象的共有属性和方法。换句话说就是共性,很简单。
面向对象是当今主流的一种程序设计理念和设计规范,它取代了早期的"结构化"过程设计开发技术,主张一切皆为对象,程序以人的思维模式去解决问题。面向对像的程序是由类组成的,每个类包含对用户公开的特定功能部分和隐藏的实现部分。传统的结构化程序设计通过设计一系列的过程(即算法)来求解问题。这一些过程一旦被确定,就要开始考考虑存储数据的方式,这就明确的表述了程序员的工作方式。但面相对像却调换了这个顺序,它不必关心数据对象的具体实现,只要能满足用户的需求即可。面向对象有三个最基本的特性,即:封装,继承,多态。
封装(Encapsulation):使用方法把类的数据隐藏起来,遵循了java 一切皆为对象的基本概念和核心思想,达成对类的封装,让普通类型上升为对象级;封装控制用户对类的修改和访问数据的程度,增强了程序的可维护性。
继承(Implementation):发生在类和类之间,可分为单继承和多层继承描述父子对象之间的血缘关系, 最终达到的目的是:一旦使用了继承,子类便获得了父类所有的成员(变量和方法),但是父类的私有的方法和属性不能被访问,父类的final成员不能被重写。 一旦使用了继承,父类的实例能指向派生类(子类)的引用。
多态(Multipart):对象在运行期和编译期具有的两种状态,使代码具有灵活性和重用性。编译时多态,也就是函数重载,所谓函数重载就是指同一个函数名可以对应多个函数的实现具体调用哪个按照由参数个数,参数类型等来决定。运行时多态:用一个基类的指针或引用来操纵多个派生类型的能力被称为多态性。
类和对象的概念是面向对象的基础,有了这两者,我们已经可以描述整个宇宙,从抽象到具体,从时间到空间的任何事物。面向对象的还有一个概念于是出现了:抽象。如果你觉得前面的概念很简单的话,接下来可能就难以理解了。