オブジェクト向け(Ruby版)

1875 ワード

最近ルビーを勉强しています.対象に向かった言叶です.自分もある程度理解して、みんなと共有しています.
今回は主にいくつかの主要な概念とそれに対応する小さな例を分かち合います.
クラス(class):クラスは概念の定義です.次のようになります.
class Person
class Snake
クラスは、他のクラスから対応する機能特性を継承することができるが、独自の機能特性が残っている.
 
≪オブジェクト|Objects|emdw≫:クラスの単一のインスタンス(または場合によってはクラス自体のインスタンス)です.Personクラスのインスタンスの場合は単一の人、Dogクラスのインスタンスの場合は単一の犬.
オブジェクト向け:クラスとオブジェクトを用いて実世界の概念をモデリングする方法.
変数:変数の場合、数値、文字列、リスト、または時クラスのインスタンスを使用できる単一のオブジェクトのプレースホルダ.
メソッド:クラスまたはオブジェクトのコードのセット(複数のコマンドと文を含む)を表します.次のようになります.
class Dog
     def bark
          puts "Woof!"
     end
end

これがDogクラスにbarkメソッドがあり、呼び出すと画面にWoofが印刷されます!と入力します.
パラメータ:カッコに含まれるメソッドに渡されるデータ(または、場合によっては、puts「TEST」などのメソッド名の後にカッコを付けない)
Kernelモジュール:putsのようなクラス名を必要とせずに使用できる方法もあります.これらの方法は通常、どのクラスとも明らかな関係がない一般的な方法で組み込まれています.このような方法の多くはRubyのKernelモジュールに含まれており、モジュール名を明示的に参照することなく、任意の場所のRubyコードから呼び出すことができる機能を提供しています.
最後に簡単な例を示します.
class  Person     #       Person 
   attr_accessor :name, :age, :gender
end
person = Person.new    #   
person.name = "Tom"
person.age = 20
person.gender = "male"
puts  person.gender    #    male,        age,name

 
class  Pet  #    Pet 
   attr_accessor :name, :age, :gender
end
class Cat <Pet  #  
end
class Dog <Pet
end
class Snake <Pet
     attr_accessor :length  #             
end
cool = Dog.new #    
cool.name = "Lay"
cool.age = 20
cool.length =  10  #            ,  Snake   

snake = Snake.new
snake.length = 20
puts cool.length    #20