クラス拡張
スポンサーリンク
スポンサーリンク
ライフスタイル関連のコンテンツ
お金 | 仕事 | 勉強 | プライベート | 健康 | 心
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般
お金 | 仕事 | 勉強 | プライベート | 健康 | 心
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般
定義済みのクラスを以下のように書いて拡張できます。
スポンサーリンク
class Profile @@count = 0 # 人数 def initialize(name_one) @name = name_one @@count += 1 # プロフィールが作成されるたびに人数をカウントアップ end # 人数を取得するクラスメソッド def Profile.count return @@count end # 名前の参照と変更 attr_accessor :name end class Profile # name(名前)の文字数を数える def name_count return name.split(//).size end end keiko = Profile.new("keiko yamamoto") puts "#{keiko.name} は、 #{keiko.name_count} 文字です。"
プロフィールの名前(name)が何文字かを求める機能を、クラスを拡張して実装しています。
実行結果。
keiko yamamoto は、 14 文字です。
スポンサーリンク
>> 次の記事 : クラス継承
<< 前の記事 : クラス変数・クラスメソッド
- - 関連記事 -
- 特異クラスによるクラスメソッド定義・class << self ~ end
- モジュールの使い方
- クラス定義でメソッドへのアクセス制限・public, private, protected
- クラス継承
- クラス変数・クラスメソッド
- アクセスメソッド(アクセサ)をattr_reader, attr_writer, attr_accessorで定義
- アクセスメソッド(アクセサ)
- Rubyのクラス定義・initialize(コンストラクタ)
- スーパークラスとサブクラス・クラス継承
- classメソッド・オブジェクトが属するクラスを調べる
- private, protected アクセス指定の違い
- オブジェクトのコピーを作る
- Rubyのinitializeメソッドの継承
スポンサーリンク