忍者ブログ

Top

power spot. へようこそ!
このサイトはじどりの創作活動(RPGツクールXPで製作しているゲームの公開、ゲーム系グラフィック素材の配布、ホームページ製作など)を紹介するサイトです。


現在配布中のゲーム  : BUTLURN.(第一話のみ) download.gif


「ちま鍋」を配布中です。
主制作、立ち絵、マップなどを担当しました。

[98] [97] [96] [95] [94] [93] [92] [91] [90] [89] [88]
 ya06.gif 2008年 05月 15日  メソッドメソッド
65128fbajpegRubyのメソッド。いろいろ頭に詰め込んでいるです。

クラスメソッド → インスタンスを作成するときのメソッド。Array.newとかがそれです。


インスタンスメソッド → インスタンス内の処理を行うメソッド?? この定義がよくわからない

本では、インスタンスをレシーバとするメソッドのこと。と書いてある。(?_?)

関数的メソッド → レシーバをもたないメソッド。



ん?

レシーバをもつメソッドはインスタンスメソッドになるのか。(クラスメソッド以外)
PR



コメント
メソッドについて
「クラス」と「インスタンス」の関係を整理すると分かりやすいかもですね。

Font         # クラスオブジェクト
Font.new       # クラスメソッド
Font.exist?     # クラスメソッド
Font.default_name  # これもクラスメソッド

f = Font.new    # インスタンスを作る
f.name        # インスタンスメソッド
f.size = 15     # インスタンスメソッド

ようはクラスオブジェクトから呼び出すメソッドをクラスメソッド、インスタンスオブジェクトから呼び出すメソッドをインスタンスメソッドと呼ぶだけです。

RGSSのプロパティは普通はアクセサと呼ばれますが、これもただのメソッドなので注意が必要です。

長々と失礼しました~
【2008/05/16 00:34】 NAME[春日] WEBLINK[] EDIT[]
無題
丁寧な説明、ありがとうございますm(_ _)m

春日さんに自分の(RGSS的な)もやもやを聞いていただきたいぐらいですw


>ようはクラスオブジェクトから呼び出すメソッドをクラスメソッド、インスタンスオブジェクトから呼び出すメソッドをインスタンスメソッドと呼ぶだけです。

そういわれるとわかりやすいですね。

Graphics.update とかはフレームの更新ですよね。
そして大文字で始まっている=モジュール。
Graphicモジュールのupdateメソッドを呼び出していると。

あれ、モジュールメソッド?は日記の三つだとどれにはいるんですかね?
【2008/05/16 18:57】 NAME[じどり] WEBLINK[] EDIT[]
Re
モジュールメソッドは名前のとおりモジュールに定義されたメソッドですね。
モジュールはインスタンス化できないので、モジュールのメソッドは全てこの形になります。

クラスについてはクラス変数(@@で始まる変数)が同じクラスの全てのインスタンス内から参照できるので、これを利用するためにクラスメソッドを作ることが多いようです。

class Font
@@default_name = "MS ゴシック"
def self.default_name=(name)
@@default_name = name
end
def initialize(name=nil)
if name != nil
@name = name
else
@name = @@default_name
end
# 省略
end
# 省略
end
【2008/05/17 14:17】 NAME[春日] WEBLINK[] EDIT[]


コメントフォーム
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード
  Vodafone絵文字 i-mode絵文字 Ezweb絵文字


トラックバック
この記事にトラックバックする:


spacer.gif
05 2017/06 07
S M T W T F S
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30

Blog内検索


power spot.
モバイルサイト

qrcode.png
Copylight 2000-2007 power spot. All Right Reserved.