일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- 単語
- メソッド
- 연습문제
- 자바
- springboot
- javascript
- 건담베이스
- C로 시작하는 컴퓨터 프로그래밍4판
- jsp
- 비즈니스일본어
- html
- ruby
- 日本語
- 인프런
- rails7
- DART
- Spring
- CSS
- 디지몬
- rails
- 반다이몰
- 일본어
- Web
- Python
- vscode
- 一日一つメソッド
- Flutter
- nico
- java
- 건담
Archives
- Today
- Total
AR삽질러
Ruby モジュール 본문
728x90
Ruby モジュール
- クラスのようにメソッドや定数(Constant)をまとめられるもの
- Rubyでモジュール(Module)は特定の機能をグループ化する方法として使用されます。
- モジュールはクラスと似ていますが、インスタンスを生成することはできず、継承することもできません。 代わりに、モジュールは2つの主要用途で使用されます
クラスの違い
- インスタンスを作ることができない
- 継承ができない
モジュールの定義
module モジュール名
# モジュールの定義(メソッドや、定数など)
end
1) ネームスペース(Namespace):
- モジュールは、互いに関連するメソッド、クラス、異なるモジュールなどを1か所にグループ化して名前の衝突を防止するために使用されます。
たとえば、2 つの異なるライブラリがレポートというクラスを使用する場合、それぞれのレポート クラスを異なるモジュール内に入れて名前の衝突を防止できます。
2) ミックスイン(Mixin):
モジュールは、複数のクラスにわたって再利用可能なメソッドを提供するために使用されます。
Rubyでは多重継承をサポートしていませんが、モジュールを使用してミックスイン機能を通じて似たような効果を出すことができます。 クラスにモジュールを含めると、モジュールのメソッドがクラスのインスタンスメソッドとして使用できます。
また、モジュールを拡張(extend)してモジュールのメソッドをクラスのクラスメソッドとして使用することもできます。
例題
- 自動車の運転者に関するモジュールの作成
- Runと出力するメソッド
- Stopと出力するメソッド
module Driver
def self.run
puts "Run"
end
def self.stop
puts "Stop"
end
end
class BusDriver
include Driver
def run
super
puts "Bus Diver is running"
end
end
Driver.run
Driver.stop
bus_driver = BusDriver.new()
bus_driver.run
728x90
반응형
LIST
'Ruby > Ruby-日本語' 카테고리의 다른 글
Ruby メソッドの公開範囲 (0) | 2023.12.19 |
---|---|
Ruby 例外と例外処理、コーディングルール (0) | 2023.12.19 |
Ruby 例題 - 継承とユーザー入力を活用した動物園 (0) | 2023.12.19 |
Ruby クラスと定数(Constant)、クラスの継承 (0) | 2023.12.19 |
Ruby クラス変数とクラスメソッド (0) | 2023.12.19 |