ch07 - 对象和类.pptVIP

  • 7
  • 0
  • 约7.3千字
  • 约 36页
  • 2016-11-28 发布于河南
  • 举报
ch07 - 对象和类

关于构造函数的访问控制 大多数情况下,构造函数应该是公有的(为什么?) 有些特殊场合,可能会防止用户创建类的实例,这可以通过将构造函数声明为私有的来实现。 例如,Math类的构造函数为私有的,所有的数据域和方法都是静态的,可以通过类名直接访问而无需实例化Math对象。 private Math(){ } 数据域的封装 v1/Circle.java中的数据域radius是公有的,因此该类的用户(client)可以直接修改圆的半径,如 Circle c = new Circle(); c.radius = 100.0; 但这不是好的实现方法,原因是无法控制该类用户的行为,例如某个程序员可能会写出如下代码: Circle c = new Circle(); c.radius = -100.0; 为了避免直接修改属性,应该将属性域设为私有的;同时提供属性的getter(读取器)和setter(设置器)。这称为数据域封装(ecapsulation) 类抽象 第5章学习了方法抽象。用户只要知道方法签名就可以调用而不必知道方法的实现细节。 类抽象是刚高层次的抽象,就是将类的实现和使用分离。类的创造者提供了类的描述(比如用UML,API文档),让使用者明白如何使用类。 从类的外部可以访问的方法和数据域的全体+如何使用的描述,称为类的合约(contract) this关键字 this

文档评论(0)

1亿VIP精品文档

相关文档