プログラミング初学者におけるclassという謎の部分
classは概念
class Abc
「このclassってなんや?」と思うんですが
色々と説明してくれてる記事があります
ただどうしても落とし所がわからない!という方もいると思いますので、
とりあえず「最初のうちはclassはclassというふうに覚えるしかない」としか言いようがなくて
「[あ]という字はなんで[あ]なの?」というくらい説明に困るものだと思います。
なので、「そういうもんだから!細えことは後々分かるから今はそういうものだと思え」
という感じです。
翻訳してみる
例えば学習してるとそのうち出てくる
class Abc def hello post = Abc.new end end
↑これとか頭が ??? になるのも分かります
自分なりに翻訳してみると
class Abc # Abcというクラス(class)があって def hello # helloというメソッドを作ります post = Abc.new # postという変数に(=) Abcクラス(class)のnew(インスタンス{実体化したもの}を作成)を代入している end # メソッドの定義はここまでです end #Abcクラスの定義はここまでです
という感じになります。
class?メソッド?インスタンス?
はぁ?
お気持ちは分かります。私も未だにそうです。
説明は難しい
概念なので伝えることが難しく、classについては色々な方が記事を書いていますので探してみてください。 そのうちなんとなく「多分こういうもの」というのがわかってくると思います。
犬を見れば犬と分かるし、
ネコを見ればネコと分かるし、
う●こを見ればう●こと分かるし、
逆に、
なんでこれは犬なの?
なんでこれはネコなの?
なんでこれはう●こなの?
と聞かれると困ってしまうように
「生物学的に犬というものは〜云々カンヌン」
とか、そういったものを求めているのではなく
犬は犬だから犬
で通じますよね?
[犬は毛があって顔の形は…]
それじゃあネコとの違いは???
というパラドックスに陥ってしまうようなものなので、
「classはclass」という風に覚えてもらったほうがいいと思います。