ab.com コミュニティ https://www.activebasic.com/forum/ |
|
オーバーライドとオーバーロードのバグ https://www.activebasic.com/forum/viewtopic.php?t=1296 |
ページ 1 / 1 |
作成者: | 高信期 [ 2006年8月08日(火) 23:51 ] |
記事の件名: | オーバーライドとオーバーロードのバグ |
抽象クラスを継承したクラスに仮想メソッドと同名のメソッドを持たせると意図しない動作をします。 AB ver 5 CP1で確認しました。 コード: InterFace IAnimal Sub Sing() End InterFace Class CDog inherits IAnimal Public Sub Sing() ' override Print "わんわん" End Sub Sub Sing(I As Long) ' overload Dim A As Long For A = 0 To I - 1 Print "わん" Next A End Sub End Class Dim Animal As *IAnimal Animal = new CDog Animal->Sing() delete Animal Endそこで要望なのですが、Abstract修飾子やVirtual修飾子のように オーバーライドするメソッドにOverride修飾子をつけるようにすると コードの可読性が高まると思うので導入を検討していただけませんでしょうか? ご考慮のほどよろしくお願いいたします。 |
作成者: | イグトランス [ 2006年8月09日(水) 00:53 ] |
記事の件名: | |
その案には賛成です。 ただしVB .NETに合わせてOverridesの方が良いと思います。 |
作成者: | 山本 [ 2006年8月18日(金) 10:49 ] |
記事の件名: | |
確かに、オーバーロードが絡んでくるとこのバグを回避しても、仕様上分かり辛いかもしれませんね。 しかし、Override修飾子によるコードの冗長化が気になります。まぁ、Override修飾子が付くような状況では、VirtualもAbstractもつくことはあませんし…。 皆さんはその辺り、どのように思われますでしょうか?因みに、お二人が仰るように、C#ではoverirde修飾子が、VB.NETではOverrides修飾子が導入されていることは事実なようです。 |
ページ 1 / 1 | 全ての表示時間は UTC+09:00 です |
Powered by phpBB® Forum Software © phpBB Limited https://www.phpbb.com/ |