1、面向对象方法的基本概念1)类和对象类的概念:类是具有相同属性和服务的一组对象的集合。它为属于该类的所有对象提供了统一的抽象描述,其内部包括属性和服务两个主要部分。在面向对象的编程语言中,类是一个独立的程序单位,它应该有一个类名并包括属性说明和服务说明两个主要部分。对象的概念:对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。一个对象由一组属性和对这组属性进行操作的一组服务组成。从更抽象的角度来说,对象是问题域或实现域中某些事物的一个抽象,它反映该事物在系统中需要保存的信息和发挥的作用;它是一组属性和有权对这些属性进行操作的一组服务的封装体。客观世界是由对象和对象之间的联系组成
2、的。类与对象的关系就如模具和铸件的关系。类的实例化结果就是对象,而对一类对象的抽象就是类。类描述了一组有相同特性(属性)和相同行为(方法)的对象。类和对象的区别1类是一个抽象的概念,它不存在于现实中的时间/空间里,类只是为所有的对象定义了抽象的属性与行为。就好像“Person(人)”这个类,它虽然可以包含很多个体,但它本身不存在于现实世界上。2对象是类的一个具体。它是一个实实在在存在的东西。3类是一个静态的概念,类本身不携带任何数据。当没有为类创建任何对象时,类本身不存在于内存空间中。4对象是一个动态的概念。每一个对象都存在着有别于其它对象的属于自己的独特的属性和行为。对象的属性可以随着它自己
3、的行为而发生改变。对象的基本特点:标识的唯一性、分类性、多态性、封装性、模块独立性好。2)消息对象之间进行通信的结构叫做消息。在对象的操作中,当一个消息发送给某个对象时,消息包含接收对象去执行某种操作的信息。发送一条消息至少要包括说明接受消息的对象名、发送给该对象的消息名(即对象名、方法名)。一般还要对参数加以说明,参数可以是认识该消息的对象所知道的变量名,或者是所有对象都知道的全局变量名。3)封装性封装是一种信息隐蔽技术,它体现于类的说明,是对象的重要特性。4)继承继承表示类之间的层次关系,这种关系使得某类对象可以继承另外一类对象的特征(attributes)和能力(operations),
4、继承又可分为单继承和多继承,单继承是子类只从一个父类继承,而多继承中的子类可以从多于一个的父类继承,Java是单继承的语言,而C+允许多继承。 假设类B继承类A,即类B中的对象具有类A的一切特征(包括属性和操作)。 类A称为基类或父类或超类,类B称为类A的派生类或子类,类B在类A的基础上还可以有一些扩展。如图1所示,Dog和Sheep类都是从Mammal继承而来,具有父类的eyeColor属性特征,因此在子类中就下用重复指定eyeColor这个属性。Mammal-eysColor:int+getEyeColor():intDog-barkFrequency:int+bark()Sheep-mieFrequency:int+mie()图1 类的继承5)多态性在面向对象技术中,多态性是指子类对象可以像父类对象那样使用,同样的消息可以发送给父类对象也可以发送给子类对象。多态性机制增加了面向对象软件系统的灵活性,减少了信息冗余,而且显著提高了软件的可重用性可扩充性。封装性、继承性、多态性是面向对象的主要特性。