Tbpgr Blog

元エンジニア 人事 tbpgr(てぃーびー) のブログ

Ruby応用 | オブジェクト指向

概要

Rubyオブジェクト指向について

プログラムと人間

プログラムはコンピューターを扱うものであるという制約上
過去のプログラミング言語は人間にとって扱いにくいものだった。
そこで、人間が理解しやすい言語が必要となる。

人間のための言語、オブジェクト指向言語

オブジェクト指向の言語はプログラムをオブジェクトとして実現します。
分かりやすいさを実現するための代表的な要素として以下の3つの要素があります。

多様性ポリモーフィズム
・抽象データ
・継承

まずはポリモーフィズムについて説明します。

多様性ポリモーフィズム

同じ呼び出し方=インターフェースで異なる処理を同一の呼び出し方で
扱うことができます。
下記に、同様の処理を手続き型とオブジェクト指向の両方で記述した例を示します。

手続き型の分岐処理
# encoding: Shift_JIS

# 手続き型の処理
def coding(type)
  case type
  when "Java" then
    puts "Javaでコーディング"
  when "Ruby" then
    puts "Rubyでコーディング"
  end
end

puts "−−−−手続き型の処理結果−−−−"
coding("Java")
coding("Ruby")
オブジェクト指向の分岐処理
class JavaProgrammer
  def coding()
    puts "Javaでコーディング"
  end
end

class RubyProgrammer
  def coding()
    puts "Rubyでコーディング"
  end
end

programmers = [JavaProgrammer.new,RubyProgrammer.new]
puts "−−−−オブジェクト指向の処理結果−−−−"
programmers.each {|programmer| programmer.coding}