文系の多くがひざを折り、理系の多くが頭を苦しめるこのポインタ。こいつに詳しくなくても何となく使える言語が多いことが非常にありがたい。ポインタと構造体を理解した方がうまく使えますが、知らなくてもなぁなぁで使えます。ある程度プログラムに慣れた後に理解を深めてください。個別に処理を任せられます。独立したオブジェクトに処理の責任を任せられるので、メインの処理は各オブジェクトに「やっといてね」というだけで済みます。ある課長が部下にいちいち「A君は書類を~してコピーしてー」「B君は会議用の書類を作って~」「C君は会議室取ってきて~」とか支持するのは大変です。できれば課長は「会議があるからいつも通り準備してね♡」と言ったらみんなが各自勝手に動いてくれる方が助かりますよね。変数の範囲が限定されます。オブジェクトの中に変数があり、変数の影響範囲がクラス内に限定されます。このことで、そのオブジェクトの変数を触る人を限定することができます。だれがいつどこで変数に触れるかわからないというはとても恐ろしいことで、変数をどこで使っているかわからないことや、いつの間にか変な値が入っていてエラーが起こることは良く起こります。この「変数の管理が簡単になる」ということは、初心者のみならず、大規模設計者には非常にありがたいことです。処理が複雑になりにくい一つのファイルにいろんな処理を書いて、細かく指示を出していると、処理の数も種類もすごく多くなり、複雑になります。大きなプログラムや複雑なプログラムを作るときにこれはすごいデメリットです。この処理はこのオブジェクトが一手に引き受ける。別の処理はノータッチ。負担を分離することで一つ一つの処理がわかりやすくなります。問題を分割し、処理を分割し、オブジェクト一つ一つの処理はシンプルに設計するとその便利さがわかることでしょう。似たような処理を何度も書く必要がなくなる似たような処理を何度も記述するのは疲れます。オブジェクト指向プログラミングでは、設計書があるため、違うところだけちょっと書き直したり、状態だけ修正することで似たような、でも違う振る舞いをするオブジェクトを簡単に生み出せます。本題!オブジェクト指向ってどんな言語?オブジェクト同士の相互作用として、システムの振る舞いをとらえる手法のこと。Wikipediaそんないろんなオブジェクトをいっぱい作って、アレしてこれしてと一括して頼んでしまえば、あとは勝手にオブジェクトが処理してプログラミングが動きます。それがオブジェクト指向プログラミングです。オブジェクト指向プログラミングというのは、一つ一つ役者や裏方を決めて、みんなで演劇をしてもらうようなものなのかもしれません。※あ~詳しい人は石を投げないでください。(((;゚Д゚)))大きい物を作りたければ、小さいパーツ(各自独立)を分けて作って組み合わせたほうがいいよね!という考え方でもあります。オブジェクト指向というのはブロックを組み立てて大きなものを作るレゴのようなものでもあります。詳しくは各自勉強してくださいね。o(^-^)oまた、オブジェクト指向には重要な考え方があり、それに沿って作っていく手法とも言えます。カプセル化(状態と振る舞いの隠蔽)インヘリタンス(継承)ポリモーフィズム(多態性、多相性)の三つです。一つづつ見ていきましょう。カプセル化ってなんなのさ利点で述べた、「個別に処理を任せられ」、「変数の範囲が限定され」るのをサポートする機能です。オブジェクト内部に記述したデータや振る舞いを隠したり、オブジェクトの実際の型(クラスのことだと思ってくれ)を隠くしたりすることをいいます。何がいいかって、中身が変わっても外から見れば変化しないこと!例えば、ある文章をユーザに伝えたいときに、画面に文字を出すのか、音声が出力されるのか、いろいろ方法がありますよね。機能追加ごとにプログラムすべてを変更していたらややっこしい&めんどくさい。エラーも出すことになります。”ユーザについたえる方法”を一つのオブジェクトに隠してしまうことで、変更に柔軟にでき、かつ使う方は「~とユーザに伝えてくれ」と頼むだけであとは気にせずに使える簡便さを獲得できるようになります。インヘリタンスってなんなのさ継承という名のほうが通りがいいです。利点で述べた、「似たような処理を何度も書く必要がなくなる」のをサポートする機能で、ある設計書の内容を含んだ別の設計書を作ることができる機能です。「哺乳類」の設計書から「犬」や「猫」や「牛」の設計書を作るようなものです。哺乳類設計書から、「ワンと吠える」犬設計書、「ニャーと鳴く」猫設計書、「モー鳴く」牛設計書を作れば、哺乳類設計書に書いてある振る舞い「乳を飲ませて育てる」や、データ「心臓を持ち、2心房2心室」等をそれぞれに記述する必要はなくなります。(たまに継承と委譲を使い分けられず悩まれる方がいらっしゃいますが、継承と委譲は全く別物。委譲は”共通した機能”を付け加える物。継承は”親グループの機能を共有する”ものです。)ポリモーフィズム型システムを理解しないと説明しにくいけれど、とてもとても大事な機能です。何でもいいので鳴ける奴らみんなに鳴いてほしいとします。オブジェクト中身は何でもいいので、鳴ける奴はサッサと鳴けということです。そんなとき、中身はわからないけどこのクラスなら鳴けるよというのがあるといいですよね。「鳴ける機能を持ってる」やつらか「鳴ける性質を継承」した奴らかは設計によります。そいつらに、とりあえず鳴け。やり方はお前らに任せると言える機能。これがポリモーフィズムの恩恵です。(すっごい誤解を招きそうな説明だ。奥の深いオブジェクト指向プログラミングですが、ちょっとでもとっつきやすくなったよーとなってもらえれば幸いです。短くできるように頑張らねば。)おすすめのプログラミング言語とか本とかねぇのかよ...初心者はとにかく何か作ってみると理解が深まるため、実際何か作ってみるのがおすすめ。※お金を出したくない人や、初めて数か月の人は無料のwebサイトに頼る方が結果的に良い場合もあります。dotinstall.comオブジェクト指向プログラミングの言語はいろいろありますが、個人的に初心者にお勧めする言語は下記4つです。追記:後日初心者向けのプログラミング言語紹介記事書いてみました。よろしければこちらもどうぞtec.citrussin.comjava大抵のプラットフォームで動く上、非常に有名なため初心者向けのwebページや参考書が多い。ネットワーク環境への機能が豊富で就職にも有利。androidアプリを作りたいならコレ。古い言語であり便利な機能が少ない。いろんな人が手を加えたおかげでライブラリ周りがごちゃごちゃしています。5回この商品を含むブログを見るScalajavaベースのため多様なライブラリが使え、最近生まれただけあって非常に洗練されている言語。私はこの言語が大好きです。上級者から初心者まで扱え、最近流行の関数型プログラミングもできます。問題は、新しすぎてandroidアプリ等の作成に対応していないし、紹介したwebページも少ないこと。何より、いろんな機能があるため、javaを習得してからのほうがよい気がします。見るC#windows用のアプリやゲームを作るならば非常に頼もしい言語です。.NET、つまりwindows用のプログラムを書くうえでの標準的な言語であり、例えばwinアプリ、ゲームプログラミング、webサーバー等をやりたいなら非常におすすめ。Xamarinを使うことでandroid/iphone両方向けのアプリが作れ、unityを使うことで本格的なゲームを作ることができます。見るSwiftmacのmacによるiosのための言語。iphoneアプリを作りたいならこれがベストの選択になります。事実上macを買わないと使えないため注意。流行の技法、糖衣構文などにも優れ、様々な教本もでているため初心者にも優しい。アップル(Mac)のファンならばとりあえずこの言語を選んでおきましょう。見るスクリプト言語コンパイラ(機械がわかる言葉に翻訳してくれるプログラム)のチェックを通さないため、初手で学ぶのにはどうなのかなーと感じなくもありませんが。わかりやすく、使いやすく、即試せる上に複雑にならないので、やはり「とりあえず」という人にはベストチョイスでもあります。Python手軽に書けるスクリプト言語として第一にはPythonを紹介すべきでしょう。作り出した開発者本人が”最初の言語としてPythonを選びオブジェクト指向を学んでほしい”と口にし、読みやすく、少ない労力で、さまざまな用途のプログラムを作れます。”同じことをしようとするとたいてい同じ書き方になる”ため、構文戦争が起こりにくいのも初心者に優しいです。その幾多者”やりやすさ”は、SwiftやGo、Groovyなど新しいプログラミング言語に多大な影響を与えました。機械学習や高度な数学用のライブラリが揃っているため、ディープラーニングや人工知能に興味がある人はまずコレ。その他、仕事の効率化や”ちょっと試してみたいこと”を自動化するにはピッタリ。手軽に書けて、素早くプログラミングできる素敵な言語です。見るRubyやはり、初心者日本人向けオブジェクト指向言語としてRubyを紹介しないのは背信行為だと思います。まつもとゆきひろさんが開発したこの言語は、日本人開発言語としてはじめて国際規格に認証されました。「プログラミングをストレスなく楽しむ(enjoy)ための言語」として開発されました。Railsのもととなる言語でも有り、個人でwebサービスを始めたいならまずRubyを触ってみてはいかがでしょうか。「RPGツクールXP・RPGツクールVX」でのゲームプログラミング言語(RGSS)元として採用されていることもあり、そちらの開発経験がある人もすんなり入っていけます。(2)最新記事pythonでPathlibをつかってshutil.moveしたときにAttributeErrorすることを回避する。python備忘録pythonのwin環境での実行時、ファイル削除しようとするとパーミッションエラー。参加グループプログラミング引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。