
Rubyのオブジェクト指向プログラミング
クラス、モジュール、継承、ミックスイン、attr_accessor、self、基本的なメタプログラミング
20 面接問題·
Junior
1Rubyでクラスを定義するにはどうしますか?
1
Rubyでクラスを定義するにはどうしますか?
回答
Rubyでは、クラスは class キーワードに続けてクラス名(慣例として CamelCase)を書き、end で終了します。initialize メソッドはコンストラクタとして機能し、Class.new で新しいインスタンスを生成するときに自動的に呼び出されます。インスタンス変数(@ が接頭辞)は各オブジェクトの状態を保持します。
2Rubyにおけるinitializeメソッドの役割は何ですか?
2
Rubyにおけるinitializeメソッドの役割は何ですか?
回答
initializeメソッドはRubyのconstructorです。Class.newを通じて新しいオブジェクトが作成されると自動的に呼び出されます。インスタンス変数を初期化し、オブジェクトの初期状態を設定できます。他の言語とは異なり、constructorはクラス名ではなく、常にinitializeという名前になります。
3attr_reader、attr_writer、attr_accessorの違いは何ですか?
3
attr_reader、attr_writer、attr_accessorの違いは何ですか?
回答
これら3つのクラスメソッドはアクセサを自動的に生成します。attr_readerはgetter(読み取り)のみを作成し、attr_writerはsetter(書き込み)のみを作成し、attr_accessorは両方を一度に作成します。これにより、繰り返しのgetter/setterメソッドを手動で書く必要がなくなり、コードがより簡潔で読みやすくなります。
4
Rubyではクラスの継承はどのように機能しますか?
5
Rubyにおけるmoduleとクラスの違いは何ですか?
+17 面接問題
その他のRuby on Rails面接トピック
Rubyの基礎
Junior
25問Rails の基礎
Junior
18問Routing & Controllers
Junior
22問ActiveRecord の基礎
Junior
25問Views と ERB テンプレート
Junior
20問ActiveRecord の関連付け
Mid-Level
24問高度なActiveRecordクエリ
Mid-Level
28問Rails フォーム
Mid-Level
20問認証と認可
Mid-Level
22問モダンな Asset Pipeline とフロントエンド
Mid-Level
18問Rails APIモード
Mid-Level
20問RSpecによるテスト
Mid-Level
24問ActiveJob & Background Jobs
Mid-Level
20問ActionCable & WebSockets
Mid-Level
18問ActionMailer
Mid-Level
18問ActiveStorage
Mid-Level
20問キャッシュ戦略
Mid-Level
20問高度なマイグレーション
Mid-Level
20問Rails Engines とモジュラーアプリ
Senior
18問パフォーマンス最適化
Senior
26問Rails のデザインパターン
Senior
22問Rubyのメタプログラミング
Senior
20問Rails のセキュリティ
Senior
22問Rails での GraphQL
Senior
20問デプロイと本番環境
Senior
20問Monitoring & Logging
Senior
20問Rails アップグレード戦略
Senior
18問