source: Include/Classes/System/Object.ab @ 195

Last change on this file since 195 was 195, checked in by dai, 16 years ago

オブジェクトの循環参照を許容した(構造体はダメ)。
抽象クラスをメンバの型に指定できるようにした。
メンバがオブジェクトだったとき、自動的にNewするのをやめ、初期値としてNothingを指定するようにした。

【ArrayListの改良】
・ArrayList_Elementを廃止し、実装をArrayListのprivateに置いた。
・一通りのパラメータを*ObjectからObjectへ変更した。

【その他】
・TypeInfo改良中...
・Objectクラスに実行時型情報用のtypeInfoメンバを追加した。

File size: 785 bytes
Line 
1Class Object
2
3    ' 実行時型情報
4    typeInfo As TypeInfo
5
6Public
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*/
39End Class
Note: See TracBrowser for help on using the repository browser.