タグ

classに関するtakaesuのブックマーク (4)

  • クラス設計の原則 — みんなのウェディングエンジニアリングブログ

    みんなのウェディングの高井です。 クラスベースのオブジェクト指向プログラミング言語を利用している人であれば、クラスとは、ありふれていて普段から利用するものです。にもかかわらず、良いクラスをつくるというのは、なかなかに難しいことです。 先日、みんなのウェディングでアルバイトをしてくれている学生さんのコードレビューをしていたときにも、それを強く感じました。 実践的プラグマティックには「ソフトウェアの規模や文脈にあわせて、適切に抽象化していただきたい」という以上のことを言っても仕方がないところなのですが、それだけでは経験の浅いプログラマーにとって、まったく分からないという話になってしまいます。 というわけで、今回はクラス設計の原則についてのお話しです。 Bertrand Meyerのクラス設計の原則 Bertrand Meyerは『オブジェクト指向入門 第2版』の中で、クラス設計について章をひと

    クラス設計の原則 — みんなのウェディングエンジニアリングブログ
  • クラスの命名のアンチパターン - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 昔から「名は体を表す」と言ひます。クラスの名前がクラスの果たす役割と一致してゐるかどうか常に考へ続けませう。 ImageInfo, AccountData, etc. Info って何やねん? Data って何やねん? ImageInfo って Image とはどう違ふねん?? FooInfo や FooData よりも好ましいかもしれない名前の例: FooAttribute, FooProperty, FooMetadata, FooDescription FooConfiguration, FooSetting, FooParame

    クラスの命名のアンチパターン - Qiita
  • 特異クラス・特異メソッド・メソッドの種類 Ruby - Qiita

    オブジェクトに処理を行わせる、何らかの命令を定義する時に メソッドを使う。 メソッドには種類があって、インスタンスメソッド、クラスメソッド、関数的メソッド、特異メソッド、モジュールメソッドがある。 インスタンスメソッド はレシーバをつけて呼び出すメソッドである。レシーバはどこかのクラスのインスタンスである class Cat def siro "siro" end end a = Cat.new a.siro # => "siro" "aa".length # => 2

    特異クラス・特異メソッド・メソッドの種類 Ruby - Qiita
  • クラス変数とクラスインスタンス変数とインスタンス変数の違いについて - 遅咲きのエンジニア

    Ruby Way 第2版を読んでいきなりつまづく。 P46 class Myclass @x = 1 # クラスインスタンス変数 @y = 2 # 別のクラスインスタンス変数 def mymethod @x = 3 # インスタンス変数 # ここで@yにアクセスすることはできない end end これのなにが分からなかったかというと、クラスのはじめの@xとメソッド内の@xが別物であるということ(コメントに書いてあるんだけどね)。5年間C++を学んできた自分としては変数の宣言があることは当然だと思っていたため、なかなか理解できませんでした。 ということで、クラス変数とクラスインスタンス変数とインスタンス変数の違いについて。 クラス変数とは、 別名static変数とも言われ、各インスタンスが共有する変数のこと。 クラスインスタンス変数とは、 クラス変数とほぼ同じだが、そのクラスのみでしか参照で

    クラス変数とクラスインスタンス変数とインスタンス変数の違いについて - 遅咲きのエンジニア
    takaesu
    takaesu 2014/03/21
    クラスメソッドの中で @hogeなど インスタンス変数のようにすると クラスインスタンス変数という扱いになる
  • 1