職案人

求職・歴史・仏教などについて掲載するつもりだが、自分の思いつきが多いブログだよ。適当に付き合って下さい。

アクセスメソッド

2021年11月30日 | Ruby3.0.1
アクセスメソッド


【開発環境】
OS:Win10(64ビット)
Ruby 3.0.1
VSCodeバージョン: 1.57.1

【アクセスメソッドとは】
クラスの中で使われているインスタンス変数はクラスの外からは参照したり値を変更したりすることが出来ません。参照する場合も変更したい場合もインスタンスメソッド経由して行う必要があります。
そこでインスタンス変数への参照や更新が簡易的に行えるようにアクセスメソッドと呼ばれるものが用意されています。


使い方
class Car
def initialize(carname="未定義")
@name = carname
end

attr_accessor :name
end

サンプル

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

initializeメソッド

2021年11月28日 | Ruby3.0.1
initializeメソッド


【開発環境】
OS:Win10(64ビット)
Ruby 3.0.1
VSCodeバージョン: 1.57.1

【initializeとは】
このメソッドをクラス内に記述した場合にはオブジェクトが作成される時に自動的に呼び出されます。

形式
class クラス名

def initialize()
処理
end

end

「initialize」メソッドを使うことでオブジェクトを作成時に必ず実行したい処理をメソッドを呼び出すことなく実行することが出来ます。例えば次の例では「initialize」メソッドの中でインスタンス変数を初期化しています。

class Car
def initialize()
@name = "未定義"
end
end

car = Car.new()

【「initialize」メソッドに引数を指定する】
「initialize」メソッドには引数を指定することが出来ます。

class クラス名

def initialize(変数1, 変数2, ...)
処理
end

end

他のメソッドと同じく「initialize」メソッドも呼びだす時に引数を指定して呼び出すことでメソッドに値を渡す事ができますが、「initialize」メソッドは自動的に呼び出されるメソッドですので「initialize」メソッドに渡す値はクラスメソッドの「new」メソッドの引数に指定します。
class Car
def initialize(carname)
@name = carname
end
end

car = Car.new("civic")
または
class Car
def initialize(carname="未定義")
@name = carname
end
end

car1 = Car.new("civic")
car2 = Car.new()

サンプルプログラム


コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

インスタンス変数

2021年11月24日 | Ruby3.0.1
インスタンス変数


【開発環境】
OS:Win10(64ビット)
Ruby 3.0.1
VSCodeバージョン: 1.57.1

【インスタンス変数とは】
オブジェクトの中で値を保存しておくための利用されるのがインスタンス変数です。

インスタンス変数はクラス内で全メソッドで共通して使用することが出来ます。最初にどこかのメソッドで使用された時点でインスタンス変数は作成され、一度作成されたインスタンス変数は他のメソッドで値を取り出したり格納したりすることが出来るようになります。

構成
class クラス名

def メソッド名
@name = 値
end

end

例文
class Car
def setName(str)
@name = str
end

def dispName()
print(@name, "¥n")
end
end

car = Car.new()
car.setName("crown")
car.dispName()

「setName」メソッドによってインスタンス変数「@name」に値が格納され、「dispName」メソッドによってインスタンス変数「@name」に格納されている値を表示しています。

サンプルプログラム
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

インスタンスメソッド

2021年11月23日 | Ruby3.0.1
インスタンスメソッド


【開発環境】
OS:Win10(64ビット)
Ruby 3.0.1
VSCodeバージョン: 1.57.1

【インスタンスメソッド】
通常のメソッドがプログラム中からいつでも呼び出せるのに対してクラス内に記述されたメソッドはクラスから作成されたオブジェクトしか呼び出すことが出来ません。このようなメソッドをインスタンスメソッドと呼びます。

・構造
class クラス名

def メソッド名(引数1, 引数2, ...)
処理
end

end

【インスタンスメソッドの呼び出し】
定義されたインスタンスメソッドはクラスのオブジェクトから呼び出すことができます。
例文
class Car
def dispClassname
print("Car class¥n")
end

def dispString(str, "¥n")
print(str)
end
end

car = Car.new
car.dispClassname
car.dispString("crown")
オブジェクトからメソッドを呼び出すにはオブジェクトの後にドット「.」を付けてメソッドを名を記述します。

オブジェクト名.メソッド名(引数1, 引数2, ...)
オブジェクト名.メソッド名
または
オブジェクト名::メソッド名(引数1, 引数2, ...)
オブジェクト名::メソッド名

サンプルプログラム

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

クラスの定義とオブジェクトの作成

2021年11月21日 | Ruby3.0.1
クラスの定義とオブジェクトの作成


【開発環境】
OS:Win10(64ビット)
Ruby 3.0.1
VSCodeバージョン: 1.57.1

■クラスの定義
class クラス名

end
クラスは「class」から始まり「end」で終わりとなります。そしてクラスにはクラス名を指定します

■オブジェクトの作成
class クラス名

end

変数名 = クラス名.new()

クラスはあくまで設計図ですので実際に何かを行わせるにはクラスからオブジェクトを作成する必要があります。
クラスからオブジェクトを作成するための「new」メソッドを使用してみます。

サンプルプログラム

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする