Last change
on this file since 195 was 195, checked in by dai, 18 years ago |
オブジェクトの循環参照を許容した(構造体はダメ)。
抽象クラスをメンバの型に指定できるようにした。
メンバがオブジェクトだったとき、自動的にNewするのをやめ、初期値としてNothingを指定するようにした。
【ArrayListの改良】
・ArrayList_Elementを廃止し、実装をArrayListのprivateに置いた。
・一通りのパラメータを*ObjectからObjectへ変更した。
【その他】
・TypeInfo改良中...
・Objectクラスに実行時型情報用のtypeInfoメンバを追加した。
|
File size:
785 bytes
|
Line | |
---|
1 | Class Object
|
---|
2 |
|
---|
3 | ' 実行時型情報
|
---|
4 | typeInfo As TypeInfo
|
---|
5 |
|
---|
6 | Public
|
---|
7 |
|
---|
8 | Sub Object()
|
---|
9 | End Sub
|
---|
10 | Sub ~Object()
|
---|
11 | End Sub
|
---|
12 |
|
---|
13 | ' 2つのオブジェクトが等しいかどうかを判断する
|
---|
14 | Virtual Function Equals( object As Object ) As Boolean
|
---|
15 | If This.GetHashCode() = object.GetHashCode() Then
|
---|
16 | Return True
|
---|
17 | Else
|
---|
18 | Return False
|
---|
19 | End If
|
---|
20 | End Function
|
---|
21 | Static Function Equals( objectA As Object, objectB As Object ) As Boolean
|
---|
22 | Return objectA.Equals( objectB )
|
---|
23 | End Function
|
---|
24 |
|
---|
25 | ' ハッシュコードを取得する
|
---|
26 | Virtual Function GetHashCode() As Long
|
---|
27 | Return VarPtr( This ) As Long
|
---|
28 | End Function
|
---|
29 |
|
---|
30 | ' オブジェクトに関係する文字列を返す
|
---|
31 | Virtual Function ToString() As String
|
---|
32 | Return "Object"
|
---|
33 | End Function
|
---|
34 |
|
---|
35 | /*
|
---|
36 | Function Operator Downcast() As VoidPtr
|
---|
37 | End Function
|
---|
38 | */
|
---|
39 | End Class
|
---|
Note:
See
TracBrowser
for help on using the repository browser.