435
コメント:
|
3068
|
削除された箇所はこのように表示されます。 | 追加された箇所はこのように表示されます。 |
行 11: | 行 11: |
=== オブジェクト指向 === 今回はRubyの考え方の根幹をなしている'''「オブジェクト」'''と呼ばれるものの話が中心となります。<<BR>> Rubyはオブジェクト指向言語と呼ばれる言語の一種です。字の通り、オブジェクトというものを中心に考えたプログラミングの考え方を取り入れた言語です。<<BR>> オブジェクト指向は現代のプログラミングの考え方の主流の一つとなっている考え方なので、この際その考え方に触れておくことにしましょう。 |
|
行 12: | 行 16: |
オブジェクト指向はRubyだけではなくJavaやC++といった現在主流となっている言語に採用されている考え方です。 === オブジェクトって何 === オブジェクトというのはデータとそれに関連する処理をひとまとめにした概念といえます。<<BR>> と言われてもわかりにくいと思うので、実際の例で考えてみることにしましょう。 文字列を考えます。Rubyでは文字列は次のように書きますね。 {{{#!highlight ruby "Love Live!" }}} プログラムはデータに対して加工や処理を行なっていくことの繰り返しだということを第1回で述べました。<<BR>> なのでデータに対してよく行われるであろう処理や加工をデータそのものに紐付けておくと何かと便利なのではないかという気がします。<<BR>> データとそれに関連する手続きをバラバラにもっておくのではなく、一体のものとして扱う。これがオブジェクト指向の考え方の1つの基本です。 たとえば文字列に対して行う処理として文字列の長さを求めるというものが考えられます。オブジェクト指向ではない言語とRubyを比較してオブジェクト指向的な<<BR>> 考え方というのはどういうものなのかをみていきましょう。 オブジェクト指向ではない言語の例としてCを挙げることにします。Cで文字列の長さを求めるにはstrlenというものを使います。 {{{#!highlight c char[] a = "Love Live!"; strlen(a); //strlenという処理はaという文字列に属しているわけではなく、独立して存在している }}} 対してRubyの例です。Rubyで文字列の長さを求めるにはlengthメソッドを使います。 {{{#!highlight ruby a = "Love Live!" a.length #aという文字列に関連付けられているlengthメソッドを使っているという雰囲気 }}} |
なにこれ
- 2013年度新入生向けRuby講習会の第2回向け資料です。
- まず第1回向け資料をお読みください。
なんでもオブジェクト
オブジェクト指向
今回はRubyの考え方の根幹をなしている「オブジェクト」と呼ばれるものの話が中心となります。
Rubyはオブジェクト指向言語と呼ばれる言語の一種です。字の通り、オブジェクトというものを中心に考えたプログラミングの考え方を取り入れた言語です。
オブジェクト指向は現代のプログラミングの考え方の主流の一つとなっている考え方なので、この際その考え方に触れておくことにしましょう。
オブジェクト指向はRubyだけではなくJavaやC++といった現在主流となっている言語に採用されている考え方です。
オブジェクトって何
オブジェクトというのはデータとそれに関連する処理をひとまとめにした概念といえます。
と言われてもわかりにくいと思うので、実際の例で考えてみることにしましょう。
文字列を考えます。Rubyでは文字列は次のように書きますね。
1 "Love Live!"
プログラムはデータに対して加工や処理を行なっていくことの繰り返しだということを第1回で述べました。
なのでデータに対してよく行われるであろう処理や加工をデータそのものに紐付けておくと何かと便利なのではないかという気がします。
データとそれに関連する手続きをバラバラにもっておくのではなく、一体のものとして扱う。これがオブジェクト指向の考え方の1つの基本です。
たとえば文字列に対して行う処理として文字列の長さを求めるというものが考えられます。オブジェクト指向ではない言語とRubyを比較してオブジェクト指向的な
考え方というのはどういうものなのかをみていきましょう。
オブジェクト指向ではない言語の例としてCを挙げることにします。Cで文字列の長さを求めるにはstrlenというものを使います。
対してRubyの例です。Rubyで文字列の長さを求めるにはlengthメソッドを使います。
オブジェクトとメソッド
クラス
- これは多分時間がないのでやらない。