一. 面向对象编程的含义
1. 面向对象编程(Object-Oriented Programming,OOP)
前面介绍的编程方法称为函数(或过程)化编程,而OOP技术,常常要使用许多代码模块,每个模块都提供特定的功能,每个模块都是孤立的,甚至与其他模块完全独立。
这种模块化编程方法提供了非常大的多样性,大大增加了重用代码的机会。数据表达方式的一致性和简化任务都是OOP的特点。
2. 对象的含义
对象的类型在OOP中有一个特殊的名称:类
注意“类”和“对象”是完全不同的概念
“类的实例”和对象含义相同
例如,类是指汽车的模板,或者用于构建汽车的规则。汽车本身是这些规划的实例,所以可以看作对象
统一建模语言(Unified Modeling Language,UML)是为应用程序建模而设计的
左图是打印机类Printer的UML表示方法,类名显示在这个框的顶部
右图是这个Printer类的一个实例myPrinter,顶部,实例名显示在前面,后面是类名,这两个名称用一个冒号分隔
①属性和字段
属性与字段是不同的,因为属性不提供对数据的直接访问
一般情况下,在访问状态时最好提供属性,而不是字段,因为这样可以更好地控制各种行为,这个选择不会影响使用对象实例的代码,因为使用属性和字段的语法是相同的。
常见的情况是把字段设置为私有,通过公共属性访问它们。这样,类中的代码就可以直接访问存储在字段中的数据,而公共属性禁止外部用户访问这些数据,以防他们在其中放置无效的内容。公共成员是类可以访问的成员。
私有字段和属性可以看作是拥有它们的对象的内部成员,而公共字段和属性的作用域也包括对象以外的代码。
在类的UML表示方法中,用第二部分显示属性和字段
这是CupOfCoffee类的表示方式,前面为它定义了5个成员(属性或字段,在UML中,它们没有区别)。
每个成