経営・プログラミングを学ぶ あーべるBLOG

経営やプログラミングの便りを呟きます。☆をつけたり読者になってくれたりすると跳ねて喜びます。

macでプログラミング、最強はmacbook pro

プログラミングmacbook pro mac
 プログラミングをやっていく中で絶対的に必要なツールの1つにパソコンがあります。逆に言えば、パソコンとWi-Fi環境さえしっかりしていればプログラミングはどこでもやることができます。しかし、プログラミング言語と同じようにパソコンも非常に種類が多いため、どれを選んで良いのか分からないという方も多いかと思います。今回はそんな方のために、代表的なパソコンであるmacを事例に取り上げ、もしmacを使うのであればどの機種が最適なのかについて検証していきます。

 

目次

  1. プログラミングとmacbook air
  2. プログラミングとmacbook
  3. プログラミングとmacbook pro
  4. プログラミングならmacbook pro

プログラミングとmacbook air

 ではまず初めにご紹介するのはmacbook airです。この機種の特徴は安価で非常に軽く持ち運びに優れている点です。一般的にパソコンは薄ければ薄いほど性能が低いとされているので、次の面に関しては少し不安は残ります。また、macは本来App Storeで購入する場合にメモリやストレージなどをカスタマイズで購入することができるのですが、この機種に関しては8GBで固定という制限があります。複数のタブを開いて一気に作業進めたいという方にとってはこのタイプはあまり望ましくは無いので別の機種を検討された方が良いかと思います。対象者としては、これからプログラミングを始めていくという初心者の方にとっては良いのではないかと思います。また、ガッツリとした組み込み作業など大きな作業をすることがないのであればmacbook airでも十分に対応はできます。

プログラミングとmacbook

 

 では次にmacbookについてご紹介いたします。一言で言い表すならmacbook Airのいいとこ取りなのがこの機種です。macbook airよりもさらに薄くて軽く持ち運びはかなり楽ちんです。ただしその分先ほどもご紹介した性能面や、USB端子が1つしかないなど重たい作業をしたい方にとっては少々難点な部分もあります。ただし、処理速度に関してはmacbook airよりも早いため多少高いお金を払ってでも処理速度が高く、最新の機種を揃えたいという方にとっては望ましい機種なのではないかと思います。また、非常に持ち運びが便利という点から日頃移動が多い方にとってはかなり利便性の高いパソコンなのではないかと思います。この後ご紹介するmacbook proは性能としてはかなり良いのですが、日頃持ち歩くには少しサイズ的にも、重量感的にも重いという印象がありますので、特に女性の方などで外で作業はするけれどもそれほどガッツリとしたプログラミングを組まないという方であればこちらがお勧めです。

 ただし、注意をしたいのが、そこそこの値段がするため、本当に自分がガッツリとした重たい作業をしないかどうかを検討する必要があります。1番怖いのが、それほど重たい作業はしないだろうと思って、実際に勉強や実際のプログラミングを組む作業を進めていく中で後から作業がどんどん重くなっていき、このパソコンでは処理しきれないと分かってしまうことです。その点は充分検討して購入しましょう。

プログラミングとmacbook pro

 では最後にmacBook proについてご紹介していきます。こちらの機種は一般的なパソコンの性能と同じで、画面のサイズなども非常に作業がしやすいものになっています。13インチと15インチの2種類がありますが、どちらを選ぶかによって性能は大きく変わります。macbook proを購入しようと検討されている段階で、ある程度重たい作業をやっていくという認識になってくるため、どうせ買うのであれば15インチの方を買った方が良いかと思います。利用する対象者としてはガッツリとプログラミングをやっていこうと考えている人や、自分自身の生業としてプログラミングをやっていこうと考えている方、同時に複数のタブを開いた作業を日ごろからやる方などが挙げられます。基本的に作業量が多い方にとってはこちらの機種が最も適しているのではないかと思います。

 またPhotoshopIllustratorといったそれ自体をパソコンに取り込むだけでかなり容量をくってしまうアプリケーションを利用される方であれば前の2つに比べれば明らかにこちらの機種を選んだ方が得策といえます。処理速度が速いことで、作業もはかどりますので、特にお仕事として軌道に乗ってきた方でどんどんどんどん作業を進めていく必要があるというのであれば間違いなくmacbook proで良いかと思います。逆にこれ以上容量を多くしたいと言うのであれば、もはや持ち運びのパソコンでは不可能かと思いますので、デスクトップパソコンを購入するしかないでしょう。

プログラミングならmacbook pro

 ここまでmacのパソコンについて3種類の機種を紹介してきました。その他にもimacmac minimac proといった機種が存在し、全部で6種類の中から選ぶことができます。そしてこの中で総合的に判断して、これからプログラミング言語を学んでいくという方にオススメなのはmacbook proです。理由としては本来3年から5年の長期にわたって利用するパソコンを選ぶにあたって、本当にその機種で自分がやりたいことをやれるだけの処理速度が足りるのかどうかを不安視するくらいであれば思い切って処理速度が高いパソコンを買った方が良いからです。

 また、自前のパソコンということであれば、時には外で作業をしたいということもあるかと思います。そんな時にデスクトップのパソコンでは当然ながら外に持ち運ぶことができないため、利便性の観点からも多少重いと感じることがあるかもしれませんが、持ち運びが可能なこの機種がオススメです。プログラミング言語の良いところはいついかなる場面であってもパソコンとWi-Fi環境さえあれば作業ができるということになりますので、ぜひその辺りを重視されるのであればmacbook proをお勧めします。

 

プログラミング独学者が陥る問題4選

プログラミング問題

 この記事では、プログラミングを独学で学ぼうとする人が陥りがちな問題について紹介していきます。今回あげるような問題に直面した場合に、どのように対応すればよいのか解決策も書いておきますので、ぜひご自身のプログラミング学習に活かしてください。

 

目次

  1. プログラミング独学者が陥る問題:言語決め
  2. プログラミング独学者が陥る問題:対応策
  3. プログラミング独学者が陥る問題:拘束
  4.  

プログラミング独学者が陥る問題:言語決め

 まず初めに陥りがちなのが、そもそもどのプログラミング言語を学ぼうか決めることです。プログラミング言語は現在非常に多くの種類が存在しています。その中で、自分が学ぶべき言語を選ぶと言うのはなかなか骨のある作業にはなります。これについては、自分がそもそも何を作りたくてプログラミング言語を学ぼうと思ったのかを考えることが解決策になります。

 プログラミング言語は、それぞれに特徴があり、できることも異なります。そのため一般的に人気とされている言語を取得したとしても、自身がやりたい事と全く方向性が違っているということがよくあります。習得に時間のかかるプログラミング言語を、わざわざ習ったのに結局自分の作りたいものが作れなかったと言うのでは悲惨なので、初めに目的を決めましょう。目的を決めることによって勉強をしていく上でのモチベーション維持にもつながりますので、特に周りに詳しい方がいるのであれば自分のやりたいことを伝えてアドバイスを聞いてみるのが良いと思います。

プログラミング独学者が陥る問題:対応策

 

 次に陥りがちな問題として、実際にソースを打ち込んでいる際にエラーが出たときの対応策が分からないというものがあります。プログラミングを独学で勉強するという方は、書店で本を買ったりネットで無料もしくは有料で利用することが出来るプログラミング学習サイトなどを利用し勉強を進めていくかと思います。教科書に書いてある事はそのまま移せば問題なく実装することができますし、また何か不具合が起こったとしても目の前に答えがあるのですぐに修正することができます。しかし、いざ自分が実装をオリジナルでしていくとなると話は別です。当然ながら、模範解答は無いため自分自身で一から組んでいく必要があるのですが、どこか間違えた場合に教科書やウェブサイトのように模範回答が無いためどこを間違えたのか分からなくなってしまうことが多々あります。

 対応策としてはいくら独学とはいえども、周りにいるウェブに詳しい人やウェブ業界で働いている人などいざ自分が困って手が止まってしまった際に助けを求める先を作っておくということです。また、もし可能なのであればそのような人たちに勉強進める手順なども手ほどきを受けるとなおスムーズに勉強をすることができるでしょう。とにかく困った時に迷って手が止まってしまうという時間が一番もったいないので、目的を忘れずに素直に聞くという姿勢を持つことも重要です。

プログラミング独学者が陥る問題:拘束

 では続いてご紹介する問題点として、拘束時間が長いという点をご紹介いたします。プログラミング学習をするにあたって、習得までにかかる期間は最短でも3ヶ月ほどになります。もちろんその間に、簡単な仕事を請け負ったり、アウトプットをしたりすることによって気分を晴らしたり、実際の力をつけていく作業をすることができますが、根本的に拘束時間が長いという問題に変わりはありません。ある程度の時間をかけないと本当の意味でプログラミングを覚える事は難しいので、途中で挫折をしてしまうという方も多くいます。また、最も悲惨なことがそもそも自分自身があまりパソコンやプログラミングというものに対して好意や適性がないのに、周りもやっているから、親にやれと言われたから、とりあえず生きる力が欲しいなどといった理由で自分が望まない形で勉強を始めてしまったケースです。この場合はやればやるほど苦痛になってしまいますので、かなり悪循環に陥ってしまう可能性があります。

 対応策としては、1日の中で30分だけでもプログラミング学習に関する時間として固定の時間を決めておくことです。その際にポイントになってくるのは、たとえ進みが遅かったとしても学習に関する内容を行っていたのであれば、よしとすることです。例えば該当する本を1ページめくることことや、ソースを1行書くことなど、なんてことない事でも実行したことに対して自分自身を褒めるということが大切です。

プログラミング独学者が陥る問題:やる気

 それでは最後に独学でプログラミングを覚える方が陥りやすい問題としてやる気についても紹介していきます。特に独学で勉強を始めようという方は、モチベーションとしてはかなり高いことが多いです。しかし2番目、3番目に挙げたような理由で徐々にプログラミング学習に対するやる気が削がれていき、次第になぜプログラミング学習をしようと思ったのか分からなくなってしまうケースが後をたちません。先ほども紹介した通り、プログラミングを一定レベルまで身に付けようと思えば、ある程度の習得期間が必要になります。そのため、本来であれば継続的に学習することが必要不可欠になってきます。ただし、途中でやる気がなくなってしまうと学習効果も下がり、さらにやる気がなくなってしまうという負のスパイラルに陥る可能性が非常に高くなります。

 この問題の対応策としては、周りで同じようにプログラミング言語やプログラムについて学ぼうという人を見つけて、一緒に勉強会を開いたり、活動を共にするということです。類は友を呼ぶと言いますが、同じようなモチベーションが高い仲間を側に置くことによって、学習意欲が下がってしまったとしても、友人の姿を見てまた意欲を向上させることが出来るようになります。一見簡単に思えますが、非常に効果的ですのでもしこれからプログラミングを学習していこうという方はぜひ利用してみてください。いかがでしたでしょうか。ここまでプログラミング学習を独学で行う方にとって陥りがちな問題を4つご紹介してきました。

 結論としては、1人で悩むことなく、周りを巻き込んで学習をしていくということが1番の近道であるということになります。決して独学で学ぶという事は不可能ではありませんので、ぜひ自分の理想に向かって頑張ってください。

プログラミング言語にはどんな種類があるか?紹介してみた!

プログラミング言語種類

 プログラミング言語には種類があります。マイナーなものも含めると数えきれないほどの種類があります。その中で、今回はこれからプログラミングの学習を始めたい初心者がプログラミングの全体構造を把握するために重要な主なプログラミング言語を紹介していきます!

 

目次

  1. C言語
  2. Java
  3. PHP
  4. Swift

C言語

 C言語は1970年代に生まれたプログラミング言語になります。
 オペレーションシステムやWindowsなどに依存しない仕様となっているので、プログラムの移植性が高いという特徴を持っています。 豊富なデータ型を持っており、いろいろな演算子を使うことができるため、構造プログラミングに最適であるという特徴も持っています。 自由度が高く、開発環境も豊富に取り揃えられているため、C言語を使う人も多くおられます。 C言語は世界中に広く普及しているため、多くの場面で使うことができます。
 CPUやメモリなどのコンピューターのハードウェアを意識してプログラミングをする必要があります。 また、C言語は高速でコンパクトなプログラミングが実現可能になっているので、数あるプログラミングの中でも処理速度は最速となっています。
 C言語はOS周りのシステムや組み込み、ハードウェア領域、lotと言われる分野で使用されることもあります。 C言語をマスターすれば多くの物を作れますが、GUIを作るのは苦手になっています。 プログラミング言語の種類の中でもC言語を学ぶのも良い方法です。

Java

 

 Javaアプリ開発などに使用されている人気のプログラミング言語になっています。Googleが主に開発に用いている言語でもあり、応用力のある言語として根強い人気を誇っています。 Javaの最大の特徴はJVMというもので動いていることです。 Java仮想マシンと言われており、Javaのために擬似的に作り出されたマシンになります。 Java仮想マシンはコンピューターと本体のの通訳をようなものとなっており、Java仮想マシンさえ動作すれば、Javaはどんなコンピューター上でも利用することができます。

 また、Javaはどんな小さなプログラムを作るのにも、オブジェクト指向という考え方が本体の必要になってきます。 これで、いろいろなアプリゲームを作ることができるようになっています。 Javaはいろいろな種類があるプログラミング言語がある中でも、堂々のシェア率1位となっています。 そのため、プログラミング言語でもJavaを使用している人は多くおられますが、オブジェクト指向で開発する言語はオブジェクトを作成する必要があるため、簡単な機能を作るだけなら手間もかかります。

PHP

 PHPJavaScriptと同じように、HTMLに埋め込むことのできるスクリプト言語になります。 ウェブサービスやウェブアプリとはSafariChromeのようなプラウザでインターネットを介して使用することができるプログラムになります。 ショッピングサイトやSNS、電子掲示板などを作ることができる言語になります。 PHPはインターネット上のやり取りでは、クライアント側とサーバー側で行われることになります。 PHPは様々な開発ツールがあり、WordPressというブログを簡単に制作できるパッケージで使用されているのが人気の1つとなっています。 PHPを利用してCMSサイトやウェブアプリなどを制作することができます。 PHPの仕組みとしては、やり取りの際にPHPはサーバー側で動作することができます。
 PHPではクライアント側はスクリプト実行の結果のみ受け取ることになるため、どのような動作が行われたのか知ることができません。 このような特徴を持っているプログラミング言語になりますが、シェア率は8位となっており、スクリプト言語では1位になっているため、プログラミング言語の種類でも有名です。

Swift

 Swiftは、IOSやOSなどのApple社用の開発言語になります。 このプログラミング言語が開発されたのは、アプリ開発で使われた言語が独特な構文や特徴を持っていたので、開発をする部分で難しい点がありました。
 Swiftはその点の難しさを改善した言語であり、汎用的なプログラミング言語へとさせようという意味で開発されました。 Swiftはコードが読みやすくて書きやすくなっているので、他の言語を使用している人たちも抵抗なく、学びやすくなっています。 不具合が起きにくくなっており、コードの安定性を高く保つことができるようになっています。 プログラマー思い込みによって起こってしまう不具合が起きにくくなっているため、安定してコードを書くことができます。 また、他の言語ではコードの追加などで少しの変更や修正をする際も、毎回システムやアプリケーションを実行して確認を行うのに、時間がかかってしまうこともあります。 ただ、SwiftにあるPlaygroundでは、自分が意図した結果が返ってくるのかリアルタイムで確認することができます。 面倒な手間が無いためとても役に立ちます。 プログラミング言語の種類でも使いやすさはとても高くなっています。

経営理念を展開する方法

経営理念

 経営理念をどのくらい重要視していますか?経営理念とは事業を進めていく上での理想的な考え方を指します。つまり、実現を目指す目標のようなものです。そのため、経営理念がなければ、GOALが設定されていないようなものです。GOALが決まっていない道を進みたくはありませんよね?どこに行き着くかわかりませんから。今回は経営の理念を展開する1つの手法を話そうと思います。

 

目次

  1. 経営の理念を再考する
  2. 経営理念の策定を更新する
  3. 経営理念を改善する
  4. 経営理念を共有する

経営の理念を再考する

 経営理念をもう一度考える作業を、理念の再考とします。再考するというのは、既にある理念に対してもう一度熟慮を持って、現段階の企業組織の在り方と照らし合わせる作業になります。
 その対照性については、現段階で理念のとおりに踏んでないとするなら、今の時分を一新する必要に迫られています。この理念に関しては、確かに陳腐さがまとわりつくものかもしれませんが、実際は現状で出来ていない事がそう認識させるのです。つまり、今の事業体の陳腐さが、理念を腐らせてしまうのです。
理念自体は、どの事業体でも優秀なことが書かれているはずになります。そして、その理念を追いかけて事業を営まくてはなりません。事業は理念が牽引するので、ただの金儲けと呼ばれずに済むのです。
 そして、利潤追求という企業の宿命を越えて、理念を全うすることで、伝統ある企業体の体質が強化されていきます。会社の強靭さというのは、その理念に徹して、創業からの踏襲される哲学を奮い立たせるという意味があるのです。その理念への追求という点では、皆が力を振り絞ってそこに到達しなくてはなりません。理念と同一の事業を行っているという自身があれば、その余波は顧客にまで到達できているでしょう。経営には理念がなくてはならないのです。

経営理念の策定を更新する

 

 経営理念は策定というものが必要です。これは新規の事業や、時代を追って理念が浸透しにくくなっている場合には、とても必要な事とされます。この経営理念の策定では、更新するという目的よりも、企業の向かう先がどこであるのかを、よく見つめ直します。そして、その理念のとおりに仕事・作業を進めていきます。
 企業の理念の中には、利益を求めるという内容が含まれてはなりません。事業というのは、善意をもって策定しなければならず、顧客のために主眼として善意を置かなくては、周囲からただの金儲けと呼ばれる羽目になります。
 つまり、結果として顧客からいただくものに感謝するという表現が適当ですので、ぎらぎらとした営業一点張りの様相では、足元を見られてしまいます。
 そのために、経営理念の策定には、ほかから奪うような表現が決してあってはなりません。社会慈善事業に等しい内容として、儲けに対しては無心で世のために人のために働くという様相が必要になります。
経営理念のことを念願にかけて、仕事を進める人には、社内であっても、その様相は正社員に相違ないという印象を付加されるようになります。つまり、会社を背負って立つというのは、理念をひっさげてという表現が妥当なのです。

経営理念を改善する

 経営理念を改善するという言い方があります。経営理念は、時代に即したかたちでなくてはなりません。ただし、事業というのはずっと昔よりその業態としては変わらないものがあります。つまり、理念のとおりに事業・仕事を行って、地域で認められ、そして世の中にその分配として還元するという意味です。
 還元の中には、従業員の雇用を約束するという意もあり、また世の中に良い製品・サービスを提供するという、社会的な善意を意味しています。もし、ただの利益追求であれば、2年もその事業はもたないでしょう。そのために、悪を排斥して自社を刷新するという作業を何回も繰り返す作業が必要になります。
 経営理念を刷新するというのは、その伝統ある理念を継承して、今後の20年を目標にした理念に改める方式になります。例示すると、顧客の為という表現をより具体化するために、なにが顧客の為であるのかを再考する作業も必要なのです。
 そして、自社の伝統を継承する財・サービスをどのように提供していくかという販売方式に依るはなしも、理念を改善する手法として採用されます。
 これは、物流の要求が次第に変わってくる昨今に於いて、より顧客に企業が近づいたという意味でも、改善される理念が必要とされるのです。

経営理念を共有する

 経営理念の発布というものは、同時に社外秘の内容となります。これは、企業体が顧客層からどう思われているかとは、全くの別問題なのです。つまり、広告になるような宣伝文句とは一別されるものです。この広告の内容とは違うという点において、社のイメージアップをする販売様式ではないのが、経営理念の様体というものです。
 この経営理念の発布に関しては、全従業員の中でも特に正社員クラスが認知度を高めていなくてはなりません。そして、もしその理念からそれが動きをしているのであれば、正社員の離職率は高まってしまいます。
 これは、事業内部の中での争いに関しても、入念な対抗力となるものです。それは、その理念のとおりに行動するなら、反対意見に対してもものを言う力があるというはなしになります。理念があり事業を存続する意味があるので、ここで履き違えてはならないのが、単なる利益の追求が主眼とならないように、世に対する善意というものはなにかを考えましょう。
 そして、世の中に対する善意を実行するにあたって、それが実現されているならば、結果として顧客からはリターンがあるというものです。経営は、この段落的な成功を求めなくてはならないのです。

Javaでオブジェクト指向をマスターしよう!-継承編-

javaオブジェクト指向継承

前回はカプセル化について学習しました。

 カプセル化オブジェクト指向を理解する上で非常に重要な要素で、つながっているデータと操作を同じ場所で管理することで修正箇所を限定することと、内部情報を隠ぺいしてオブジェクト利用者に不要な情報を渡さず、シンプルに利用できるようにする意義を覚えていれば大丈夫です。

今回はこれまたオブジェクト指向を理解する上で重要な「継承」の概念や実装方法について学習していきます。継承は実際の現実にもある概念なので、比較的分かりやすいかと思います。

なお、以下の実行環境を前提にしています。
OS:Windows 10 Pro
IDEEclipse 4.8 Photon(Pleiades
Java:Java8

 

目次

1.継承

継承とは、カプセル化と並んでオブジェクト指向の概念を構成する要素の1つです。

(1)継承とは

具体的な例の前に、継承についての概念的な解説を入れたいと思います。

継承とは、あるオブジェクト「A」が他のオブジェクト「B」の属性や操作などの特徴を一部保有している場合のことを指します。または、オブジェクト「B」がオブジェクト「A」の特性を引き継いでいるとも言えます。こういった継承関係を、よく「A is a B(AはBの一種である)」という言い方をします。なので、AとBは意味的に同じようなクラス間にのみ継承関係が成り立ちます。

少し固い話になってしまいましたが、言っていることは至極当たり前のことです。具体的な例を見てみましょう。

(2)継承の具体的な実装例

継承についてはこのページでも取り上げています。

 継承、および汎化(はんか)と特化について、具体例を挙げています。かいつまんで話すと、汎化は特性を抽象化することで、特化は具体化することです。ここではHumanクラスを使って具体例な実装例を挙げてみます。

Humanクラスは「人間」の設計図です。名前、身長、体重、年齢などの情報を持っています。例えばここに「Javaの経験年数」を追加するとしましょう。

public class Human {
  private String name;
  private double height;
  private double weight;
  private int age;
  private int javaExperienceYears; //java経験年数

このクラス設計は本当に大丈夫でしょうか?確かにプログラマーには必要そうな属性ですが、例えば幼稚園に通っているような小さい子供にこの属性は必要でしょうか?コンピュータのない集落民族の方にも無縁そうです。回りくどくなりましたが、つまり「java経験年数の属性は不必要な人もいるので、Humanクラスに定義するのは不適切」と言いたい。

ではどうすべきなのか?結論から言うと「Programmerクラス」を作ります。

public class Programmer extends Human { //継承を定義するには「extends」を使う
  private int javaExperienceYears;

  public Programmer(String name, double height, double weight, int age, int javaExperienceYears) {
    super(name, weight, weight, age); //superは親クラスのコンストラクタの呼び出し処理(必須)
    this.javaExperienceYears = javaExperienceYears;
  }

  public String teachJavaExperienceYears() {
    return "私のJava経験年数は" + javaExperienceYears + "年です。";
  }
}

class名を定義する箇所で「extends + 継承元クラス」を追加すると、継承元クラスの属性や操作を継承したクラスを作ることができます。ちなみに継承元クラスを「親クラス」、継承先クラスを「子クラス」と言います。Humanクラスが親で、Programmerクラスが子です。

コンストラクタ内の「super」メソッドは親クラスのコンストラクタを呼び出すために必要です。子クラスは親クラスの特徴を引き継いでいるオブジェクトなので、土台となる親クラスのコンストラクタの呼び出しは必須です。

継承した子クラスも親クラス同様にインスタンスを生成できます。新しく追加したメソッドの呼び出しも可能です。

Programmer pg = new Programmer("佐藤太郎", 170, 62, 20, 1);
System.out.println(pg.teachJavaExperienceYears()); //私のJava経験年数は1年です。

そして、子クラスは親クラスの属性や操作を受け継いでいるので、「親クラスの操作を呼び出すこともできます」。

Programmer pg = new Programmer("佐藤太郎", 170, 62, 20, 1);
System.out.println(pg.teachAge()); //私は20歳です。

(3)なぜ継承するのか

 

基本的にはソースコードの冗長を抑えるためです。あとは現実に近い実装方法なので、構造的に分かりやすいというメリットもあります。これらはすべて「仕様変更に強い」コードへとつながっています。

特にソースは冗長になりがちです。システムが大規模になるにつれ、似たような機能が乱造される可能性はどんどん増していきます。この場合は同じ機能の部分を親クラスを使って汎化してあげることで冗長化を防げます。機能ごとの細かい違いは子クラスに定義します。

また、しっかりとした継承関係にあるクラス設計ができていると、例えば親クラスに新たなメソッドを追加すると、子クラスでも同じように使うことができます。少ないソースコードで多くのクラスの振る舞いを追加できるので、これも冗長化を防ぐことにつながります。

今回はプログラマのクラスを新たに作りましたが、これ以外にも営業職のクラスや建設業のクラスを作ることももちろん可能です。また職業だけでなく、大学生クラスや社会人クラスといった特化の仕方もありますね。現実に即した構造を保つことで、直観的に分かりやすい設計ができます。

2.まとめ

 今回は継承について、基本的な部分を解説しました。継承もカプセル化と同じく、しなくても動くプログラムは作れるけど、しながら作ることでメリットが生まれます。うまく活用できるようになることで、プログラム設計に強いプログラマーになることができます。

次回は「ポリモーフィズム」について学習していきます。ポリモーフィズムを理解するためにはカプセル化や継承を理解している必要があります。ちょっと自信がない方は、もう一度見直してから挑戦してみても良いでしょう。