面向对象方式:
面向对象方式
面向对象方式使得程序员使得程序员不会受限于任何特定类型的问题。我们将问题空间中的元素及其在解空间中的表示称为“对象”。
这种思想的实质是:程序可以通过添加新类型的对象使自身适用于某个特定问题。
相比之前我们使用的语言,这是一种更灵活和更强有力的语言抽象。因此OOP允许根据问题来描述问题,而不是根据运行解决方案的计算机来描述问题。
但是他们仍然与计算机有联系:每个对象看起来都有点像一台微型计算器——他具有状态,还具有操作,用户可以要求对象执行这些操作。
每个对象都提供服务
- 当试图开发或理解一个程序时,最好的方法之一就是将对象想象为“服务提供者”,这样会有一个好处:有助于提供代码的内聚性。高内聚是软件设计的基本质量要求之一:这意味着软件构件(例如一个对象,也可能指一个方法或者一个对象库)的各个方面组合的很好。在良好的面向对象设计中,每个对象都可以很好的完成一项任务,但是他不试图做更多的事情。
- 这不仅在设计过程中非常实用,而且当其他人试图理解你的代码或者重用某个对象时,会使调整对象以适应其设计的过程变得简单很多。
访问控制
- 访问控制第一个存在的原因就是让客户端程序员无法触及他们不应该触及的部分——这部分对数据类型的内部操作来说是必须的,但并不是用户解决塔顶问题所需要的接口的一部分。
- 访问控制第二个存在的原因就是因为允许库设计者(创建新数据类型的程序员)可以改变内部的工作方式而不担心会影响到客户端程序员(在其应用中使用数据类型的类消费者)
- Java用三个关键字在类的内部设定边界:public,private,protected 。
public关键字表示紧随其后的元素对任何人都是可用的。
private关键字表示除了类型创建者和类型内部方法之外的任何人都不能访问的元素。
protected关键字与private作用相当,差别仅在于继承的类可以访问protected成员,但是不能访问private成员。