2008-07-19

创建自己的类

以一个实例来展开吧:
Main.java:

public class Main
{
  public static void main(String[] args)
  {
    int totalnu;
    Die die1 = new Die();
    Die die2 = new Die();

    die1.rotate();
    die2.rotate();

    totalnu=die1.getFaceValue() + die2.getFaceValue();
    System.out.println("The total number is "+ totalnu);
  }

}

Die.java:

import java.util.Random;

public class Die
{
  private int faceValue;
  private Random radnu = new Random();

  public Die()
  {
    faceValue=1;
  }

  public int rotate()
  {
    faceValue = radnu.nextInt(6)+1;
    return faceValue;
  }

  public int getFaceValue()
  {
    return faceValue;
  }
}


  按照面向对象编程的思想,类应该代表了有合理的状态和行为的对象,比如,这个例子中,骰子一定有一个向上的面,一个Die对象也有几种描述其行为的方法。
  Public Die()是Die类的构造方法,这种方法比较特殊,方法名必须与类名相同。当使用new 运算符创建一个新的Die类实例时,将调用Die构造方法。构造方法不能有返回值,其方法声明中绝对不能指定返回值,否则可能出现一些奇怪的错误。此外,不一定要为每个类创建构造方法。java会自动创建默认构造方法,不过一般不会影响创建的对象的内容。
  Die类中的其他方法定义了由Die对象提供的各种服务。
  一般类中的方法都应该在文档头部注释说明。

  面向对象程序设计的一个重要特性就是封装。这个类中,通过使用修饰符让类之外的代码无法访问或改变类内部声明的变量,就是封装。对于类的使用者来说,类只提供了接口,而它也只需关心接口的用法和使用目的,无须知道类是如何实现的。
  一般,类常常提供一些用于访问和修改实例的方法。类似于这个程序的getFaceValue的方法被称作访问器(accessor)方法,这种方法只读的访问实例数据。另外还有可能提供一些用于修改实例数据的方法,称作修改器(mutator)方法。这个程序不需要修改器。这里介绍这个的目的在于,一般我们构建这些方法的时候有一定的的命名惯例,例如,本例若有修改器则名为setFaceValue。

没有评论: