类与对象的理解
面向对象基本概念
面向对象是一种新兴的程序设计方法,或者说是一种新的程序设计规范,其基本思想是使用对象、类、继承、封装、消息等基本概念来进行程序设计。它是从现实世界客观存在的事物(即对象)出发来构造软件系统的,并且在系统构造中尽可能运用人类的自然思维方式。
对象:对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。对象由属性和对属性进行操作的一组服务组成。
类:把众多是事物归纳、划分成一些是人类在认识客观世界时经常采用的思维方式。分类的原则是抽象的。类是具有相同属性和服务的一组对象的集合,它为属于该类的所有对象提供了统一的抽象描述,其内部包括属性和服务两个主要部分。在面向对象编程语言中,类是一个独立的程序单位,它应该有一个类名并包括属性说明和服务说明两个主要部分。类与对象的关系就如同模具与铸件的关系,类的实例化的结果是对象,而对一类对象的抽象就是类。
消息:消息就是向对象发出的服务请求,它包括:提供服务的对象标识、服务标识、输入信息、回答信息。服务通常被称为方法或函数。
面向对象的基本特征:
1、封装性:把对象的属性和服务结合成一个独立的相同单位,并尽可能隐藏对象的内部细节。
2、继承性:特殊类的对象拥有其一般类的全部属性与服务,称为特殊类对一般类的继承。例如:客轮可以继承于轮船类、大人可以继承于人类。在java中,通常称一般类为父类(SuperClass,超类),特殊类为子类(SubClass)。
3、多态性:指一般类中定义的属性或服务被特殊类继承之后,可以具有不同的数据类型或表现出不同的行为,这使得同一属性或者服务在一般类及其各个特殊类中具有不同的语义。例如:“几何图形”的“绘图”方法,“椭圆”和“多边形”都是“几何图形”的子类,其“绘图”方法功能不同。