1.2 类和对象

1.2 类和对象

Die类游戏
在这里插入图片描述

概念

  • 类(class) : 主要用于描述一组相似的对象,类是程序的一个封装的组件。
  • UML(Unified Modeling Language, 统一建模语言): 用于图示软件开发的许多方面。
  • 对象的字段(field) : 表示其当前状态。比如字段topFace表示制定Die的哪一面朝上。
  • 对象的方法(method) : 表示对象可以执行的操作。比如要求骰子投掷自己。
  • 字段全程实例变量或实例变量,因为十分常见所以简单称之为字段。
  • 构造函数(constructor) : 构造函数是一个方法,用来初始化对象的所有字段。
    public class Die {
       // 声明为私有(private)字段,表示不能被其他类中的方法访问。
       private int topFace;
    
  • 访问器(accessor) : 也称为读取器(getter),可以返回某一个字段的值。
  • 修改器(mutator) : 也称为设置器(setter), 可以更改(改变)对象内的某个字段的值。
    public static void main(String[] args) {
        // 在main方法中实例称为d,在非静态方法内(比如constructor)
        // 对象还没创建所以将当前对象称为this
        Die d = new Die();
        d.topFace = 6;
    }
    

为什么需要getter和setter?
 如果在Die类的内部,将topFace字段命名为d.topFace是好的,可是BeetleGame必须知道Die显示的是哪一面,但是如果让另一个类中的方法访问这个字段显然违反了封装原则。

  • 静态方法(static method) : 静态方法是关于整个类的,有时又被称为类方法(class method),比如main()。
  • 非静态方法 : 非静态方法有时称为实例方法(instance method), 在UML类图中,静态方法加有下划线。

代码

截止当前小节结束
Beetle类:

public class Beetle {
}

BeetleGame类:

public class BeetleGame {
}

Die类:

public class Die {
    // field
    private int topFace;

    // constructor
    public Die() {
        this.topFace = 1; // 如果没有初始化,则会被附上默认值
    }

    public int getTopFace() {
        return this.topFace;
    }

    public void setTopFace(int topFace) {
        this.topFace = topFace;
    }

    public void roll() {
        this.topFace = (int)((Math.random()) * 6)+ 1;
    }

    public static void main(String[] args) {
        // 在main方法中实例称为d,在非静态方法内(比如constructor),对象还没创建所以将当前对象称为this
        Die d = new Die();
        System.out.println(d.getTopFace());
        d.roll();
        System.out.println(d.getTopFace());
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值