Last change
on this file since 201 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
|
Rev | Line | |
---|
[51] | 1 | Class Object
|
---|
[195] | 2 |
|
---|
| 3 | ' 実行時型情報
|
---|
| 4 | typeInfo As TypeInfo
|
---|
| 5 |
|
---|
[51] | 6 | Public
|
---|
| 7 |
|
---|
[58] | 8 | Sub Object()
|
---|
| 9 | End Sub
|
---|
| 10 | Sub ~Object()
|
---|
| 11 | End Sub
|
---|
| 12 |
|
---|
[51] | 13 | ' 2つのオブジェクトが等しいかどうかを判断する
|
---|
[195] | 14 | Virtual Function Equals( object As Object ) As Boolean
|
---|
| 15 | If This.GetHashCode() = object.GetHashCode() Then
|
---|
[51] | 16 | Return True
|
---|
| 17 | Else
|
---|
| 18 | Return False
|
---|
| 19 | End If
|
---|
| 20 | End Function
|
---|
[195] | 21 | Static Function Equals( objectA As Object, objectB As Object ) As Boolean
|
---|
| 22 | Return objectA.Equals( objectB )
|
---|
[51] | 23 | End Function
|
---|
| 24 |
|
---|
| 25 | ' ハッシュコードを取得する
|
---|
| 26 | Virtual Function GetHashCode() As Long
|
---|
[70] | 27 | Return VarPtr( This ) As Long
|
---|
[51] | 28 | End Function
|
---|
| 29 |
|
---|
| 30 | ' オブジェクトに関係する文字列を返す
|
---|
| 31 | Virtual Function ToString() As String
|
---|
| 32 | Return "Object"
|
---|
| 33 | End Function
|
---|
[195] | 34 |
|
---|
| 35 | /*
|
---|
| 36 | Function Operator Downcast() As VoidPtr
|
---|
| 37 | End Function
|
---|
| 38 | */
|
---|
[51] | 39 | End Class
|
---|
Note:
See
TracBrowser
for help on using the repository browser.