32 lines
801 B
Plaintext
32 lines
801 B
Plaintext
|
|
// 🚨 無効なoverride検証テスト - エラーが発生すべき
|
|||
|
|
|
|||
|
|
// 親Box
|
|||
|
|
box Animal {
|
|||
|
|
init { name }
|
|||
|
|
|
|||
|
|
pack(animalName) {
|
|||
|
|
me.name = animalName
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
speak() {
|
|||
|
|
return me.name + " makes a sound"
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// 子Box - 存在しないメソッドをoverride(エラーになるはず)
|
|||
|
|
box BadDog from Animal {
|
|||
|
|
init { breed }
|
|||
|
|
|
|||
|
|
pack(dogName, dogBreed) {
|
|||
|
|
from Animal.pack(dogName)
|
|||
|
|
me.breed = dogBreed
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// 🚨 これはエラーになるはず - nonExistentMethodは危険パターンに含まれている
|
|||
|
|
override nonExistentMethod() {
|
|||
|
|
return "This should fail"
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// このファイルはパースエラーで実行されないはず
|
|||
|
|
print("このメッセージが表示されたらテスト失敗")
|