<?xml version="1.0" encoding="UTF-8" ?>
<rss version="0.91">
  <channel>
    <title>アレの勉強</title>
    <description>コンピュータの学習に関するＢＬＯＧです。</description>
    <link>https://stady.blog.shinobi.jp/</link>
    <language>ja</language>
    <copyright>Copyright (C) NINJATOOLS ALL RIGHTS RESERVED.</copyright>

    <item>
      <title>ポリモフィズム</title>
      <description>ポリモフィズムってなんじゃい？&lt;br /&gt;
と思ったけど、これって「継承」と似たようなものでしょうか？&lt;br /&gt;
&lt;br /&gt;
上位クラスに何か命令をすると、下位クラスもその命令に従うといった感じですか？&lt;br /&gt;
&lt;br /&gt;
たとえば、「社長」が社員にたいして、「起立」と命令すると、部長や課長、平社員まで全員たってしまう。ということ。&lt;br /&gt;
「社長」は「社員クラス」に対して命令してるんだけども、「部長クラス」「課長クラス」「平社員クラス」の「社員」は全員が「社長」の言うことを聞いてしまう。（実際はそんな会社ないだろ）&lt;br /&gt;
&lt;br /&gt;
業務の話で言えば、ある会社で扱う商品には、「一般商品」「特売品」「新製品」の３種類あって、その「商品」にたいしても価格計算の必要があるが、３種類それぞれ計算方法が違う場合。&lt;br /&gt;
この場合どの「商品」を意識することなく、「商品から価格を取得できる」という形でモデル化します。&lt;br /&gt;
具体的には「一般商品」や「特売品」で意識せずに「商品」としてクラスを扱います。&lt;br /&gt;
この場合、「商品担当」クラスから価格計算したい時は「商品」の具体的なクラスがなんであろうとも、「商品」クラスに対して価格計算を命令すればいいわけです。&lt;br /&gt;
具体的クラス「レア商品」「中古品」が増えても、同じように「商品」にたいして命令すればいいので「商品担当」は何の変更も必要ないというわけ。&lt;br /&gt;
&lt;br /&gt;
これは便利。&lt;br /&gt;
&lt;br /&gt;
なんとなく分かってきたぞぉ。</description> 
      <link>https://stady.blog.shinobi.jp/%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E6%8C%87%E5%90%91/%E3%83%9D%E3%83%AA%E3%83%A2%E3%83%95%E3%82%A3%E3%82%BA%E3%83%A0</link> 
    </item>
    <item>
      <title>カプセル化</title>
      <description>このカプセル化が一番難しいらしいけど簡単だとおもうだよなぁ。&lt;br /&gt;
&lt;br /&gt;
もし、クラスに仕事を割り振ったときに、担当クラスがどういう風に処理をするかは担当クラスだけが知ってるようにして、仕事を頼むほうは中身は知らなくてもいいという風にするのがカプセル化。&lt;br /&gt;
&lt;br /&gt;
従来のやり方で何かのサブルーチンを呼ぼうと思ったら、そのサブルーチンはどのＤＢを見て、どういう型のデータを引数にして、どういう数値を入力してとか調べた上で呼び出してたけど、クラス化されていれば、そんな煩わしいことが必要ないということ。&lt;br /&gt;
&lt;br /&gt;
ようするに、クスリのカプセル錠と同じ、このクスリを飲めば「風邪が治る」という結果が分かってて、中身の成分を知ってる必要がない。&lt;br /&gt;
&lt;br /&gt;
以上。</description> 
      <link>https://stady.blog.shinobi.jp/%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E6%8C%87%E5%90%91/%E3%82%AB%E3%83%97%E3%82%BB%E3%83%AB%E5%8C%96</link> 
    </item>
    <item>
      <title>だめだ！</title>
      <description>さっぱり進まない。</description> 
      <link>https://stady.blog.shinobi.jp/%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E6%8C%87%E5%90%91/%E3%81%A0%E3%82%81%E3%81%A0%EF%BC%81</link> 
    </item>
    <item>
      <title>継承</title>
      <description>継承とは、クラス同士の関連性を表した言葉です。&lt;br /&gt;
&lt;br /&gt;
例えば「乗り物」には、種類があり、人を乗せたり、物を運んだり、走ったりしますが、「クルマ」もそうだし、「スポーツカー」や「ＲＶ車」ももちろんそうです。逆に具体的なクラスが持っている性質を、一般的なクラスが持っているとは限りません。「スポーツカー」はエンジンを持っていても、「乗り物」はエンジンを持っているとは限りません。&lt;br /&gt;
つまり、具体的クラスは一般的なクラスの性質を持っていても、一般的なクラスは具体的クラスの性質を持っているとは限らない。&lt;br /&gt;
&lt;br /&gt;
一般的クラス&lt;br /&gt;
「乗り物」&lt;br /&gt;
　↓&lt;br /&gt;
「クルマ」&lt;br /&gt;
　↓&lt;br /&gt;
具体的クラス&lt;br /&gt;
「スポーツカー」「ＲＶ車」&lt;br /&gt;
&lt;br /&gt;
このように、&lt;br /&gt;
&lt;span style=&quot;font-size:x-large&quot;&gt;「具体的なクラスが、一般的なクラスの性質を引き継いでいる」&lt;/span&gt;&lt;br /&gt;
ことを、継承といいます。&lt;br /&gt;
&lt;br /&gt;
ちなみに、&lt;br /&gt;
オブジェクトをより大きく（一般的）にくくることを&lt;strong&gt;「抽象化」&lt;/strong&gt;&lt;br /&gt;
オブジェクトをより細かく（具体的）にくくることを&lt;strong&gt;「具象化」&lt;/strong&gt;&lt;br /&gt;
といいます。</description> 
      <link>https://stady.blog.shinobi.jp/%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E6%8C%87%E5%90%91/%E7%B6%99%E6%89%BF</link> 
    </item>
    <item>
      <title>クラス</title>
      <description>オブジェクトは、存在する「もの」の事だったが、クラスは、その「もの」を同じ性質をもったグループに分けたグループのことをクラスという。&lt;br /&gt;
&lt;br /&gt;
例えば、&lt;br /&gt;
ピストンは、部品というグループの中では「部品」といえるし、エンジンというグループの中では「エンジン」と言える。もっと大きく「車」というグループに入れることも出来る。&lt;br /&gt;
このグループのことをクラスという。&lt;br /&gt;
&lt;br /&gt;
ハイ、まとめ&lt;br /&gt;
&lt;span style=&quot;font-size:large&quot;&gt;クラスとは、オブジェクトのうち、共通の性質を持ったグループのこと！&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
つまり、シリンダやピストン、バルブがオブジェクトで、エンジンがクラスって事か！&lt;br /&gt;
なるほど～。納得！</description> 
      <link>https://stady.blog.shinobi.jp/%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E6%8C%87%E5%90%91/%E3%82%AF%E3%83%A9%E3%82%B9</link> 
    </item>
    <item>
      <title>オブジェクト</title>
      <description>&lt;span style=&quot;font-size:x-large&quot;&gt;&lt;span style=&quot;color:#FF00FF&quot;&gt;オブジェクトとは？&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
これはもう簡単！オブジェクトとは&lt;span style=&quot;font-size:large&quot;&gt;もの&lt;/span&gt;である。&lt;br /&gt;
現実社会に存在する&lt;span style=&quot;font-size:large&quot;&gt;「もの」&lt;/span&gt;。&lt;br /&gt;
人間、車、電車、飛行機、りんご、みかん・・・&lt;br /&gt;
など実体のあるものや、&lt;br /&gt;
サービス、受注、発注・・・&lt;br /&gt;
など実体はないけど存在する物も、オブジェクトとなる。&lt;br /&gt;
勤怠管理システムや、顧客管理システムなどの、コンピュータシステムもオブジェクトとなるらしい。&lt;br /&gt;
&lt;br /&gt;
もう一度、&lt;br /&gt;
オブジェクトとは、実際にある「もの」や「概念」のこと！</description> 
      <link>https://stady.blog.shinobi.jp/%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E6%8C%87%E5%90%91/%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88</link> 
    </item>
    <item>
      <title>オブジェクト指向とは？</title>
      <description>オブジェクト指向が生まれた経緯として。&lt;br /&gt;
・昔はコンピュータのハードウェアが&lt;span style=&quot;color:#FF0000&quot;&gt;非常に高価&lt;/span&gt;。&lt;br /&gt;
・処理速度が&lt;span style=&quot;color:#FF0000&quot;&gt;遅い&lt;/span&gt;。&lt;br /&gt;
・メモリが&lt;span style=&quot;color:#FF0000&quot;&gt;少ない&lt;/span&gt;。&lt;br /&gt;
などの理由で、コンピュータの都合に合わせて、コンピュータの気を使いながら設計していたらしい。&lt;br /&gt;
ところが、ＰＣが登場、普及し、&lt;br /&gt;
・ハードウェアが&lt;span style=&quot;color:#00FF00&quot;&gt;安くなり&lt;/span&gt;。&lt;br /&gt;
・処理速度も&lt;span style=&quot;color:#00FF00&quot;&gt;速くなり&lt;/span&gt;。&lt;br /&gt;
・メモリが&lt;span style=&quot;color:#00FF00&quot;&gt;大きく&lt;/span&gt;なり。&lt;br /&gt;
コンピュータに気を使う必要がなくなった結果、使う側の人間の思うように設計しようよ！と思うようになったのがオブジェクト指向誕生のきっかけになったようだ。&lt;br /&gt;
&lt;br /&gt;
つまり、コンピュータの性能向上により、人間の思うことがよりリアルにシステム化出来るようになった、という事か。&lt;br /&gt;
&lt;br /&gt;
つまり、オブジェクト指向型開発とは、&lt;br /&gt;
&lt;span style=&quot;font-size:x-large&quot;&gt;&lt;span style=&quot;color:#FF0000&quot;&gt;人間の世界を、人間が理解しやすように、人間の都合でモデル化し、プログラムを作ること。&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
うーん分かった様な、分かんない様な感じだが、&lt;span style=&quot;color:#0000FF&quot;&gt;&lt;span style=&quot;font-size:x-large&quot;&gt;そういう事だ&lt;/span&gt;&lt;/span&gt;と理解して先に進むことにして、今回は終了。&lt;br /&gt;
&lt;br /&gt;
次回はオブジェクトとは何だ？を勉強する。</description> 
      <link>https://stady.blog.shinobi.jp/%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E6%8C%87%E5%90%91/%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E6%8C%87%E5%90%91%E3%81%A8%E3%81%AF%EF%BC%9F</link> 
    </item>
    <item>
      <title>学習のはじめ</title>
      <description>今までCOBOLの仕事を沢山してきましたが、これからはオブジェクト指向の設計もやっていきたいなぁと思っています。&lt;br /&gt;
&lt;br /&gt;
でも、&lt;span style=&quot;color:#FF0000&quot;&gt;&lt;span style=&quot;font-size:x-large&quot;&gt;オブジェクト指向&lt;/span&gt;&lt;/span&gt;ってなに？&lt;br /&gt;
&lt;span style=&quot;font-size:x-large&quot;&gt;&lt;span style=&quot;color:#FF00FF&quot;&gt;Ｊａｖａ&lt;/span&gt;&lt;/span&gt;はなにがいいの？&lt;br /&gt;
&lt;br /&gt;
と分からないことだらけなので、ちょっとづつ勉強していき、学んだことを、ここに書いていきたいなと思ってます。&lt;br /&gt;
&lt;br /&gt;
勉強に使う参考書は、とりあえず手元にあった「オブジェクト脳のつくり方」という本をもとに進めて行こうと思います。</description> 
      <link>https://stady.blog.shinobi.jp/%E3%81%9D%E3%81%AE%E4%BB%96/%E5%AD%A6%E7%BF%92%E3%81%AE%E3%81%AF%E3%81%98%E3%82%81</link> 
    </item>

  </channel>
</rss>