面对对象的基本概念
- 对象
一个对象一般具有两个方面的特征:状态和行为。状态描述对象的静态特征,行为描述对象的动态特征。如,一辆启程可以如此描述:生产厂家,颜色,最高时速,出厂年份,价格等。汽车可以启动,加速,转弯,停止等,这些事汽车具有的行为或者说施加在启程上的操作。
通过上述说明,可以如此定义“对象”:对象是现实世界中一个实体,它具有以下特征:有一个状态用于描述这个对象的某些特征。有一组操作,每个 操作决定对象的一种功能或行为。
- 类
类(class)是面对对象系统中最重要的概念。在日常生活常会提到这个词,如鱼类,肉类等。类可以定义为:具有相似特征的和行为的对象的集合
类与对象的关系:
- 属于某个类的一个具体的对象称为该类的一个实例
- 类与实例的关系是抽象与具体的关系。类是多个实例的综合抽象形成的集合,实例是某个类的个体实物
- 消息
对象与对象之间不是孤立的,他们之间存在联系,这种练习通过消息进行传递。
一个对象发布的消息包含三个方面的内容:接收消息的对象,接收对象采用的方法(操作),方法所需要的参数。
面对对象基本特征
- 封装性
封装就是把对象的状态(属性)和行为(方法)结合成一个独立系统单位,并尽可能的隐藏对象的内部细节。
封装使一个对象形成两个部分:接口部分和实现部分。对用户来说,接口部分是可见的,而实现部分是不可见的。
封装提供了两种保护。保护对象,防止用户直接存取对象的内部细节;
保护客户端,防止对象实现部分的改变可能产生的副作用。
- 继承性
继承的概念普遍存在于现实世界中。它是一个对象获得另一个对象属性的过程。继承之所以重要是因为它支持层次结构类的概念。
- 多态性
多态性是面向对象编程语言的一个重要特性。
所谓多态,是指一个程序中相同的名字表示不同含义的情况。面向对象程序的多态有多种情况。简单情况下,在同一个类中定义了多个名称相同的方法,即方法重载;另一个情况是子类中定义的与父类中的方法同名的方法,即方法覆盖。前者为静态多态,后者为动态多态。