クラス Call

java.lang.Object
  上位を拡張 Call

public class Call
extends Object

通話に相当するクラス. インタフェースにするか迷ったけどクラスにしたわ. 通話は二者間に限定し,三者間以上の通話は想定してません. TODO 属性,メソッドやコンストラクタは適宜追加して結構ですが,下記にあるメソッド群はコメントの仕様に従い必ず実装してね.

作成者:
kaiya

フィールドの概要
private  Callable callee
          電話をかけたれた人
private  Callable caller
          電話をかけたひと
private  int charge
          この通話の料金.インスタンス作成時に計算.
private static int defaultCharge
          デフォルトの通話料金.
private  boolean isCall
          一応,電話後もcaller, callee, 料金を保持することを想定して電話中か否かの情報は別途属性として持つ.
 
コンストラクタの概要
Call(Callable caller, Callable callee)
          電話通話のインスタンスを作成
 
メソッドの概要
 Callable callee()
          電話をかけられた人
 Callable caller()
          電話をかけた人
 int charge()
          電話料金を返す.
 void hangUp()
          電話を切る
 boolean isCalling()
          電話中か否かを判断する.
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

isCall

private boolean isCall
一応,電話後もcaller, callee, 料金を保持することを想定して電話中か否かの情報は別途属性として持つ.


caller

private Callable caller
電話をかけたひと


callee

private Callable callee
電話をかけたれた人


charge

private int charge
この通話の料金.インスタンス作成時に計算.


defaultCharge

private static final int defaultCharge
デフォルトの通話料金.

関連項目:
定数フィールド値
コンストラクタの詳細

Call

public Call(Callable caller,
            Callable callee)
電話通話のインスタンスを作成

パラメータ:
caller - かけた人 null は想定していない.
callee - かけられた人 null は想定していない.
メソッドの詳細

hangUp

public void hangUp()
電話を切る


isCalling

public boolean isCalling()
電話中か否かを判断する.

戻り値:
電話中なら真,電話が終了しているなら偽.

charge

public int charge()
電話料金を返す. 電話中でもリアルタイムに更新されるなら,それはそれで面白いが, 基本,通常電話なら一律30円, アプリケーションL経由なら一律0円と考えてよい. 電話をする双方がアプリLを有効にしている場合のみ0円となる. また,電話終了後にも,インスタンスへの参照があるなら,電話料金を参照できるものとする. 電話代は無論,電話をかけた人が支払うことになり,かけられた人には課金されない.

戻り値:
電話料金を返す.

caller

public Callable caller()
電話をかけた人

戻り値:
電話をかけた人の電話へのリファレンスを返す

callee

public Callable callee()
電話をかけられた人

戻り値:
電話をかけられた人の電話へのリファレンスを返す