クラスの継承回数が...。
Posted: 2006年3月24日(金) 23:41
クラスをどんどん継承していって、100回継承したとしたらコンストラクタは101回呼び出されるってことですよね。
体感速度はどうだか分かりませんが、継承回数の多いクラスのコンストラクタを実行したらやっぱり時間がかかるんでしょうか?
体感速度はどうだか分かりませんが、継承回数の多いクラスのコンストラクタを実行したらやっぱり時間がかかるんでしょうか?
#N88BASIC
' ↓ ここからプログラムが実行されます
Class Test01
End Class
Class Test02
Inherits Test01
End Class
Class Test03
Inherits Test02
End Class
Class Test04
Inherits Test03
End Class
Class Test05
Inherits Test04
End Class
Class Test06
Inherits Test05
End Class
Class Test07
Inherits Test06
End Class
Class Test08
Inherits Test07
End Class
Class Test09
Inherits Test08
End Class
Class Test10
Inherits Test09
End Class
Dim obj1 As *Test01
Dim obj2 As *Test10
Dim t1 As DWord
Dim t2 As DWord
t1=GetTickCount()
obj1=New Test01
t2=GetTickCount()
delete obj1
print t2-t1
t1=GetTickCount()
obj2=New Test10
t2=GetTickCount()
delete obj2
print t2-t1
コード: 全て選択
#console
Dim I As Long
Dim A$ As String
Open "test.sbp" For Output As #1
Print #1,"Class Test1"
Print #1,"End Class"
For I=1 To 10000
A$="Class Test"+Str$(I+1)
Print #1,A$
A$=" Inherits Test"+Str$(I)
Print #1,A$
Print #1,"End Class"
Next I
Close #1
End
コード: 全て選択
#N88BASIC
#include "test.sbp"
Dim obj1 As *Test1
Dim obj2 As *Test10001
Dim t1 As DWord
Dim t2 As DWord
t1=GetTickCount()
obj1=New Test1
t2=GetTickCount()
delete obj1
print t2-t1
t1=GetTickCount()
obj2=New Test10001
t2=GetTickCount()
delete obj2
print t2-t1
コード: 全て選択
Class CTestA
End Class
'CTestAを継承
Class CTestB
Inherits CTestA
End Class
'CTestAを継承しているCTestBを継承
Class CTestC
Inherits CTestB
End Class
コード: 全て選択
Class CTestA
End Class
Class CTestB
End Class
'CTestAとCTestBを継承
Class CTestC
Inherits CTestA,CTestB
End Class