CUSTOMER クラス
class
CUSTOMER
create
make
feature{NONE} -- Creation
make(a_name:STRING)
-- Create a customer with an `account'
local
l_account: ACCOUNT
l_name: IMMUTABLE_STRING_8
l_bank: BANK
do
l_name := a_name
name := l_name
create l_account.make_with_name (a_name)
create l_bank.make
b := l_bank
account := l_account
ensure
correct_name: name ~ a_name
correct_balance: balance = balance.zero
end
feature -- queries
name: IMMUTABLE_STRING_8
balance: VALUE
do
Result := account.balance
end
account: ACCOUNT
b: BANK
invariant
name_consistency: name ~ account.name
balance_consistency: balance = account.balance
end
BANK クラスの一部:
make -- make a bank
do
count := 0
create [ARRAY_LIST][CUSTOMER] customers.make(10)
customers.count.set_Item(10)
end
new(name1: STRING) -- add a new customer to bank
require
....
local
c: CUSTOMER
do
create c.make(name1)
customers.extend(c)
count := count + 1
ensure
...
end
顧客を配列に入れようとすると、ARRAY_LIST クラスからチェック アサーション エラーが発生します。私が取得するタグは「valid_index」です。インデックスが正しく、配列のカウントを設定して正しいインデックスを指定しているため、なぜ間違っているのかわかりません。
顧客はタイプCUSTOMERクラスです
銀行には顧客がいて、顧客には口座があります
CUSTOMER には ACCOUNT クラスがあります