• 【Java 基础篇】【第七课】组合


    我所理解的组合就是在一个类当中又包含了另一个类的对象。

    这样的方式就是组合吧:

    电池是一个类,有电量

    手电筒需要电池

    看代码吧:

     1 // 电池类
     2 class Battery
     3 {
     4     // 充电
     5     public void chargeBattery(double p)
     6     {
     7         power += p;
     8         System.out.println("Battery: power is " + power );
     9     }
    10     // 放电
    11     public boolean useBattery(double p)
    12     {
    13         if (power >p )
    14         {
    15             power -= p;
    16             System.out.println("Battery: power is " + power );
    17             return true;
    18         }
    19         else 
    20         {
    21             power = 0.0;
    22             System.out.println("Battery: power only is " + power +", not enough");
    23             return false;
    24         }
    25     }
    26     // 电量
    27     private double power = 0.0;
    28 }
    29 
    30 
    31 // 手电筒类
    32 class Torch
    33 {
    34     // 打开手电筒
    35     public void turnon(int hours)
    36     {
    37         System.out.println("Torch:turnon " + hours + " hours.");
    38         
    39         if ( theBattery.useBattery( hours*0.1) == false )
    40         {
    41             System.out.println("Torch:can not use, please charge! ");
    42         }
    43     }
    44     
    45     //手电充电
    46     public void charge(int hours)
    47     {
    48         System.out.println("Torch:charge " + hours + " hours.");
    49         theBattery.chargeBattery( hours*0.2 );
    50     }
    51     
    52     //电池类
    53     private Battery theBattery = new Battery();
    54 }
    55 
    56 
    57 public class test
    58 {
    59     public static void main(String[] args)
    60     {
    61         Torch aTorch = new Torch();
    62         aTorch.charge(2);
    63         aTorch.turnon(3);
    64         aTorch.turnon(3);
    65     }
    66 
    67 }

    运行结果为:
    Torch:charge 2 hours.
    Battery: power is 0.4
    Torch:turnon 3 hours.
    Battery: power is 0.09999999999999998
    Torch:turnon 3 hours.
    Battery: power only is 0.0, not enough
    Torch:can not use, please charge!

    主要就是一个面向对象的一个思想,很好理解~~

  • 相关阅读:
    5月18日InterlliJ IDea快捷键
    5月17日-集合构架Collection学习
    十一java作业1
    十一java作业2
    第一周,java模拟ATMdos界面程序源代码及感想
    8.27-9.2第八周
    8.20-8.26第七周
    8.13-8.19第六周
    8.6-8.12第五周
    7.30-8.5第四周
  • 原文地址:https://www.cnblogs.com/by-dream/p/3965044.html
Copyright © 2020-2023  润新知