面向对象技术的基本原则:按问题领域的基本事物来实现自然分割和抽象,然后求解问题。
面向对象技术分类:
- OOA(Object-oriented analysis)面向对象分析;
- OOD(Object-oriented design)面向对象设计;
- OOP(Object-oriented programing)面向对象的程序设计。
在面向对象技术中用对象来表现事物,消息传递来建立事物之间的联系,用类及其继承性来模拟人们一般思维方式来描述和建立问题领域模型。
在OOP中,
对象:一些相关的变量和方法的软件集,是可以保存状态(信息)和一组操作(行为)的整体。
例:自行车(对象) ,自行车的颜色、样式等(状态) ;
自行车刹车,减速(操作)。
类:类是同一种对象的集合抽象,即同一类对象的变量和方法的原型。
实例变量和实例方法是一个对象中的成员,类变量和类方法是所有对象共享的成员。可以直接通过类名使用类变量和类方法,也可以在对象中使用类变量和类方法, 然而实例方法和实例变量必须在特定的实例中使用。
类和对象的关系:类是对象的抽象,对象是类的一个实例。
例:定义一个自行车类,在创建自行车这个类的时候,需定义一些实例变量如档位,当前速度等,同时这个类也需要为操作这些变量提供方法定义和方法实现。当定义了车这个类之后,就可以用这个类创建任意多个自行车对象。当创建一个类的对象后,系统将为这个对象的实例变量分配内存。
消息:是对象之间进行联系和交互的手段。
抽象:去除被分析对象中与主旨和本质无关的次要部分以及可以暂时不考虑的部分,而仅抽出与研究对象有关的实质性的内容加以考察。
封装:利用抽象数据类型将数据和基于数据的操作结合在一起,数据被保护在抽象数据类型的内部,系统的其他部分只有通过包裹在数据之外被授权的操作, 才能够与这个抽象数据类型进行交互。