• ベストアンサー

使いこなせてプログラムを作れれば、言葉は覚えなくても良いんじゃないの?

dappoiririの回答

回答No.5

これは私の体験談ですが。。。 私も2,3日前まで用語なんて覚えなくてもいいよ。って思っていました。 この時期、新人教育で今年、とうとう新人教育をしなくちゃいけなくなったんです。新入社員たちは勧めた本を読んで「オーバーライドってよくわかりません。」とか「コンストラクタがよくわかりません。」って言ってきます。 私は今まで小規模開発しか参画したことがなかったので、用語なんていらないよ~と思っていたので、新入社員にそう聞かれてちょっと焦ってしまいました。人に物を教えたり説明したりするにも用語は必要だと言うことがわかりました。

関連するQ&A

  • オーバーロードされたメンバ関数のポインタをとる

    オーバーロードされたメンバ関数のポインタをとるにはどうしたらよいでしょうか? 具体的には前置インクリメント演算子 ++()と、後置インクリメント演算子 ++(int)の両方のをオーバーロードしたときに両方のメンバ関数ポインタがとりたいです。 環境はVC7.1です。 よろしくお願いします。

  • オーバーロードはオブジェクト指向プログラミングの枠組みで語られるべきか

    一部の書籍やサイトでは、オーバーロードがオブジェクト指向プログラミングの特徴であるかのような記述が見受けられるのですが、私はそれに疑問を感じます。 オーバーライドはクラス・継承に関わるためOOP特有のものであると思うのですが、オーバーロードはクラスとは全く切り離して考えられるからです。 確かにオーバーロードはクラスを作るときに有用な技術ではありますが、例えばC言語のような非オブジェクト指向言語でオーバーロードが使えたとしても、それなりに機能するはずです。 ひょっとしたら 「オーバーロードもオーバーライドもポリモーフィズムだろう」 ↓ 「ポリモーフィズムといえばオブジェクト指向」 のような話の展開でしょうか(いや、さすがに無理があるか…)。 皆様はどうお考えでしょうか。 ご意見お聞かせ下さい。

  • 後置インクリメントの計算過程について

    後置インクリメントの計算過程について Javaに関して初めての質問となります。よろしくお願いいたします。数日前に学習し始めたばかりの超・初心者です。 現在、基本的な演算について、インクリメント・デクリメントのそれぞれ前置と後置の違いを学習したところなのですが、どうも後置の理解が完璧でないようで、仮に変数をxとした場合、式内にxが二度出てくる場合の後置の計算が理解できません。 具体的には int x, y; x = 10; y = x++ + x++; 上記でコンパイルした結果、y=21となる過程を教えていただけませんでしょうか。 私の理解では、x++は計算に使用した後にxに1を加算するので、まず y = 10 + 10 で、y = 20 となり、その後にxに1を加算してx=11が私の理解です。 よろしくお願いいたします。

    • ベストアンサー
    • Java
  • SJC-Pについて

    SJC-P取得のため勉強しています。何年か前に購入した「サン技術者認定資格教則本Java2」という本で勉強しているのですが、amazonのレビューを見てみると「間違いだらけ」と叩かれています。 で、その本に載っていた問題に疑問があります。次のうち正しいのはどちらかという問題です。 A同じ名前、引数をもつメソッドがあった場合、オーバーロードされる B継承を定義しない場合Objectクラスが親クラスとみなされる 正解はAとなっていましたが、これはBが正解ではないのでしょうか?同じ名前、引数をもつメソッドはオーバーライドですし、クラスに対して何も継承しない場合はコンパイラによって自動的にextends java.lang.Objectが追加されると思うのですが・・・

    • ベストアンサー
    • Java
  • C#における++演算子のオーバーロードについて

    はじめまして。 いろいろ調べてみたのですが、わからなかったので、質問させてください。 C#における++演算子のオーバーロードについてなのですが、 まずは、以下のコードをご覧ください。 ================================================================ using System; class Test { private int Num; public Test(int x) { this.Num = x; } public static Test operator ++(Test t) { Test result = new Test(t.Num + 1); return result; } public override string ToString() { return this.Num.ToString(); } } class TestDemo { public static void Main() { Test t = new Test(0); Console.Write(t++ + "\n"); Console.Write(t + "\n"); Console.Write(++t + "\n"); Console.Write(t + "\n"); } } ================================================================ 実行結果 0 1 2 2 ================================================================ ++演算子のオーバーロード関数の実装が一つなのに 前置インクリメントと後置インクリメントが適切に行われています。 二つのインクリメントが行われるときに同じメソッドが 呼び出されていると思うのですが、同一の実装で、振る舞いが 異なるのは、なぜなのでしょうか?どのようなカラクリで 実行されているのでしょうか?全くわかりません。どなたか 教えてください。よろしくお願いします。

  • 後置インクリメントについて質問

    java解説書に以下のような説明がありました。この説明は、後置インクリメントについての説明です。 「xは10が代入されているとする。 y=x++ + x++ ; //最初の状態。xは10です y=10+ x++ ;//10をそのまま加算し、xを1加算します。xは11です。 y=10+ 11 ;//11をそのまま加算し、xを1加算します。xは12です。yは21になります。」 質問:上から2番目のコメント文の中で、「10をそのまま加算し」とありますが、これは何に加算するんですか?何も入ってないyに加算するということでしょうか?それとも それともxにxを加算するという意味でしょうか?参考書の書き手の意図がわかりません、、。 質問2:yが21、xが12になるプロセスは、 yにx(10)が加算される      ↓ yにx(10)を代入した(計算した)「直後」であるから、後置インクリメントによりxが1増えて、xが11になる      ↓ x(11)をyに代入 ↓ yは21になる ↓ yに11を代入した(計算した)「直後」であるから、後置インクリメントによりxが1増えて、xが12になる こういうことでしょうか? 質問3:質問2の計算プロセスのように、左辺の変数が、右辺の変数が+で繋がれていた場合、左の項から順に足されていくということでしょうか?

    • ベストアンサー
    • Java
  • インクリメント演算子の前置(++a)と後置(a++)の違い

    こんにちは、Java初心者です。どなたか質問タイトルの件で教えていただけませんでしょうか。 Javaのテキストで下のようなものがあったのですが、違いがテキストの説明ではよくわかりませんでした。この場合はどう違うのですか?初心者向けに、参照、演算の詳細なタイミングを一つ一つ教えていただけないでしょうか?前置の方が2になるのはなんとなくわかりそうなのですが、後置はさっぱりなのです。。。 int x, a=1; x=++a; ⇒xの値は2 int x, a=1, x=a++1; ⇒xの値は1のまま また、実例としてはどんな場合に前置又は後置を使うのですか? よろしくお願いいたします。

    • ベストアンサー
    • Java
  • オブジェクト指向なJavaプログラムとは?

     Javaで,キーボードから入力した8桁の文字列を出力するというプログラムを作成したい,8桁の文字列に対して,checkを行い文字列が未入力だとエラーが投げられる。  また,02345334,のように1文字目が0だとエラーが投げられ, 文字列が9桁や7桁になってもエラーが投げられるというプログラムを 継承、オーバーロード、オーバーライドを使って作成したい。 (文字列に入力する文字は全角英数字でも半角英数字でも出力されるようにする。 例: 1a2B3C4d )  まず,NyuryokuMainというメインクラスを作り,キーボードから入力した文字を出力するというプログラミング。  次に,NyuryokuCheckクラスでboolean型で文字列が未入力かどうかをif文で判別し,次に与えられた文字列が8桁以内かをboolean型で判別する。までを、NyuryokuCheckクラスで行い、  SubNyuryokuCheckクラスでNyuryokuCheckを継承し,8桁の文字列の1桁目が0かをbooleanで判別する。  というような,プログラムを作りたいのですが,どのようにしたらよいかわかりません。よいサンプルなどがあったら教えてください!

  • Javaでは多重継承ができない、の意味が分からない

    「Javaでは多重継承ができない」「インターフェイスでは多重継承できる」の意味が分かりません。 「インターフェイス」の多重継承とは、あくまでも擬似多重継承であって、本当の多重継承とは機能が異なる、ということなのでしょうか? それとも、多重継承はあくまでもクラスに対して行う言葉であり、それをインターフェイスで実現しているから、擬似なのでしょうか? つまり、機能としては完全に多重継承と同一? あるいは、それ以外? インターフェイスで可能なら、Javaで多重継承ができないという表現はおかしいように思うのですが…。 例えば、Javaのクラスでは多重継承できない、という言い方だと、また違った意味になるのでしょうか?

    • ベストアンサー
    • Java
  • 猫や犬が人の言葉を話すことを表す言葉

    猫や犬が子孫に継承されない人の言葉を話す事を表す生物学的な言葉もご存知の方はいらっしゃいませんか?Feral Tongueとかそんな感じだったと思います。