デザパタ + Python/Ruby/Smalltalk part2at TECH
デザパタ + Python/Ruby/Smalltalk part2 - 暇つぶし2ch97:デフォルトの名無しさん
07/04/11 23:50:42
>>24,25 を Squeak Smalltalk で意訳してみました。#subclassResponsibilityなメソッドが未再定義だと警告。

Trait named: #TShouldBeDefinedAlert

TShouldBeDefinedAlert classTrait >> new
  | shouldBeDefined |
  shouldBeDefined := (self allSelectors
  detect: [:sel | (self lookupSelector: sel) messages includes: #subclassResponsibility]
  ifNone: [^super new]).
  self error: shouldBeDefined printString, ' should be defined'


Object subclass: #AbstractMyClass
  uses: TShouldBeDefinedAlert

AbstractMyClass >> hoge
  self subclassResponsibility

AbstractMyClass >> fuga
  self subclassResponsibility


AbstractMyClass subclass: #MyClass

MyClass >> hoge
  ^#something

- - - - - - - - - - - - - - - - -

MyClass new "=> Error: #fuga should be defined"


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch