类是什么?

 
在现实世界中,你会经常发现很多独立对象都属于相同类型。可能有数千辆自行车,它们的制造商和型号都相同。每辆自行车都出于相同的蓝图,因此包含相同的组件。在面向对象的术语中,我们说你的自行车是被称为自行车的对象类(class of object)的一个实例(instance)。类(class)是创建独立对象的蓝图。
下面的Bicycle类是自行车的一个实现:
class Bicycle {
  int cadence = 0;
  int speed = 0;
  int gear = 1;
  void changeCadence(int newValue) {
    cadence = newValue;
  }
  void changeGear(int newValue) {
    gear = newValue;
  }
  void speedUp(int increment) {
    speed = speed + increment;
  }
  void applyBrakes(int decrement) {
    speed = speed - decrement;
  }
  void printStates() {
    System.out.println("cadence:"+cadence+"
                           speed:"+speed+" gear:"+gear);
  }
}
尽管你不熟悉Java编程语言的语法,但是这个类的设计基于前面对自行车对象的讨论。字段cadence、speed和gear代表对象的状态,而方法(changeCadence、changeGear、speedUp等)定义对象和外部世界的交互。
也许你已经注意到,Bicycle类没有包含main方法。这是因为它不是完整的应用程序;它只是可能用于其他应用程序中的自行车的蓝图。创建和使用新的Bicycle对象的责任属于你的应用程序中的其他一些类。
下面是BicycleDemo类,它创建两个独立的Bicycle对象并且调用它们的方法:
class BicycleDemo {
  public static void main(String[] args) {
    // Create two different Bicycle objects
    Bicycle bike1 = new Bicycle();
    Bicycle bike2 = new Bicycle();
    // Invoke methods on those objects
    bike1.changeCadence(50);
    bike1.speedUp(10);
    bike1.changeGear(2);
    bike1.printStates();
    bike2.changeCadence(50);
    bike2.speedUp(10);
    bike2.changeGear(2);
    bike2.changeCadence(40);
    bike2.speedUp(10);
    bike2.changeGear(3);
    bike2.printStates();
  }
}
这段测试代码输出两辆自行车的脚踏板步调、速度和挡位:
cadence:50 speed:10 gear:2
cadence:40 speed:20 gear:3
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值