タグ

classとRubyに関するedo_m18のブックマーク (2)

  • Rubyアソシエーション: クラスの拡張

    ここではクラスやオブジェクトを拡張する手段について紹介します。 クラスの継承 Rubyでもクラスを継承して新たにクラスを作ることが可能です。継承したクラスではスーパークラスのメソッドが利用できます。クラスの継承は以下の構文で記述します。 class クラス名 < スーパークラス名 #クラスの定義 end スーパークラス名を省略した場合はObjectクラスがスーパークラスとなります。継承したクラスではスーパークラスのメソッドをオーバーライドすることも可能です。スーパークラスの同名メソッド呼ぶときはキーワードsuperを用います。 <class_inheritance.rb> class SampleSuper def initialize(name = "you") @name = name end def morning(hour) print "Good morning ", @name

  • JavaScriptにRuby風のnewメソッドを加える

    JavaScriptのオブジェクト指向はクラスベースの皮をかぶったプロトタイプベースです。機能的には十分なのですが、すっきり書く方法が公式に用意されていないので苦労します。一年前に、newを封印してJavaScriptでオブジェクト指向するなんて記事を書いたこともありました。 Rubyではnewは演算子でなくメソッドです。これをインスパイヤしてJavaScriptもnewメソッドを加えてみると、プロトタイプ的継承もすっきり書けるのではないかと思い、試してみました。ECMAScript 5の機能を使っています。当然IE6なんかでは動かないです。 newメソッドその他の定義 Object.defineProperties(Object.prototype, { new: {value: function(){ var self = Object.create(this); self.initi

    JavaScriptにRuby風のnewメソッドを加える
  • 1