パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

非オブジェクト指向な「Javaプログラミング能力認定試験」」記事へのコメント

  • 私感だけど、
    オブジェクト指向というのは、再利用するライブラリを作成する場合は威力を発揮するのはよく分かる。
    しかし、再利用しない場合は不要だし、多人数で開発する場合は他人とのインタフェース部分だけオブジェクト指向的にすれば十分だと思う。
    他人に見せない内部まで生真面目にオブジェクト指向で作ったら、むしろコードサイズが大きくなり。処理が分散することで、かえって可読性が落ちる。

    • by Anonymous Coward

      オブジェクト指向というのは、再利用するライブラリを作成する場合は威力を発揮するのはよく分かる。

      発揮しません。再利用性で重要なのは、汎用性のある仕様です。オブジェクト指向で作ろうが、使えないものは使いたくありません。

      他人に見せない内部まで生真面目にオブジェクト指向で作ったら、むしろコードサイズが大きくなり。処理が分散することで、かえって可読性が落ちる。

      オブジェクト指向というか、カプセル化はきっちりした方がいいですよ。一人で書く場合も重要。書いているうちに共通部分が次第に見出せてくるので、そういうものをクラスに分離。そうして

      • by Anonymous Coward

        class Function {
        public: virtual int apply(int argument) = 0;
        };

        class FunctionAdd : public Function {
        private:
                int value;

        public:
                FunctionAdd(int value) { this->value = value; }
                int apply(int argument) { return argument + value; }
        };
        class FunctionDiv : public Function {
        private:
                int value;

        public:
                FunctionDiv(int value) { this->value = value; }
             

        • by Anonymous Coward on 2011年01月11日 10時53分 (#1886122)
          あれ? preタグで囲んだ、getSumから一部のメソッドがおかしくなった。
          htmlという事を忘れて<をエスケープしてなかったのが原因か?

          int getSum() {
            int sum = 0;
            for (int i = 0; i < size(); i++) sum += get(i);
            return sum;
          }

          Abstract1DMatrix* assign(Function *f) {
            for (int i = 0; i < size(); i++) set(i, f->apply(get(i)));
            return this;
          }
          親コメント

弘法筆を選ばず、アレゲはキーボードを選ぶ -- アレゲ研究家

処理中...