質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.32%

  • PHP

    21359questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • JavaScript

    17549questions

    JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

  • Java

    14437questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

汎用性の高い 根本的な考え方 クラス メソッド property 変数 定義 インスタンス コンストラクタ

解決済

回答 6

投稿 編集

  • 評価
  • クリップ 1
  • VIEW 1,478

goforward

score -419

混乱してきたので今後のことも考えて、このへんで整理したいと思います。
写真を5枚くらい表示したいのですが1枚しか表示できません。
こちらの質問は私の成長と共に再編集させていただきます。まずはクラスがありそのなかにデータ(プロパティ)とメソッド(関数)がある。
クラスはそれ自体では実態をもたないのでインスタンス化する。(これがnewでコンストラクタ メモリ上に領域を確保するため)

すべてのアプリ(プログラム)はオブジェクトの集合体であり、当然それぞれのオブジェクトは責務を持つので、これらの(メソッドやプロパティ)にアクセスしながら成立している。

インスタンス名.プロパティ
でプロパティにアクセスする。

同様に

インスタンス名.メソッド名()で呼び出す。

ここで質問、今までやってきた。

インスタンス名.プロパティ名= 値

var 変数名 = 値
console.log()は何のために存在しているのか?
そもそもクラスがあってインスタンスすればそのそのクラス(オブジェクト)が持っているメソッドやプロパ
を使えるなら継承だけでいいのではないか?
インスタンス名.プロパティ名= 値

var 変数名 = 値 などなぜ値を変える必要があるのか?

phpやjavaでもまとめていきますが、これらの質問に対する答えとphpやjavaでの説明もお願いいたします。

リンク内容

参考文献
ゼロからわかる オブジェクト指向超入門 大型本 – 2014/4/12
河合 昭男  (著)

オブジェクト指向でなぜつくるのか 第2版 単行本 – 2011/4/7
平澤 章  (著)

JavaScriptプログラミング入門 第2版 大型本 – 2006/9/23
大津 真  (著)

ポケット図解 オブジェクト指向の基本がよ~くわかる本 単行本 – 2010/5/20
谷口 功  (著)

プログラムはなぜ動くのか 第2版 知っておきたいプログラムの基礎知識 単行本(ソフトカバー) – 2007/4
矢沢久雄  (著)

プログラムはこうして作られるプログラマの頭の中をのぞいてみよう 単行本 – 2013/9/25
平山 尚(株式会社セガ) (著)

[改訂新版] これからはじめるプログラミング基礎の基礎 単行本(ソフトカバー) – 2008/12/12
谷尻 かおり  (著), 谷尻 豊寿 (監修, 監修)

ゼロからわかる UML超入門 大型本 – 2010/10/22
河合 昭男  (著)


現在挑戦中
黒帯エンジニアが教えるプロの技術 Android開発の教科書 Kindle版
筒井 俊祐 (著), 里山 南人  (著), 松田 承一  (著), 笹城戸 裕記  (著), 毛受 崇洋  (著)

しかしもう一度基礎レベルの勉強をしています。読んでも理解しているとは限りませんし、実際に作ったり、打ったりしないとわからないからです
パソコンでサイトなどをあたってみようと思います

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • goforward

    2017/04/07 12:20 編集

    いったん消しました。ちょっと今は再編集している場合ではないので。何が疑問なのかはわからず、ほかにやることがあるので

    キャンセル

  • Zuishin

    2017/04/07 16:01

    「lastsamuraiさんの理解した内容を整理して」というのは、Qiita で質問者しろということではなく、質問ではなく情報として自分の理解したところを発信したら?ということですよ。もう少し補足すると、「自分はここまでわかります。あと教えて下さい」ではなく、「勉強してここまで理解できたので初心者にわかりやすく説明します」という発信の仕方です。

    キャンセル

  • alg

    2017/04/07 18:00

    Zuishinさん、フォローありがとうございます。「Qiita で質問者しろということではなく、質問ではなく情報として自分の理解したところを発信したら?ということ」はい、そういう意図でした。teratailは質問のためのものであり、自身の理解した内容を整理しておくのならほかにもっと適したメディアがあるのでは、ということでした。

    キャンセル

回答 6

+3

オブジェクト指向プログラミングはプログラム作成の手法です。
ですから大前提として、プログラムとは何かというのを理解してからでないと、オブジェクト指向プログラミングを理解することはできません。

さらにいえば、いきなりオブジェクト指向プログラミングにいくとたいてい詰まります。

  • プログラミングを外したオブジェクト指向とは何を考えているものなのか
  • それをなぜプログラミングに適用しようとしたのか
  • オブジェクト指向ではないプログラミングとは何があって、どうメリット・デメリットがあるのか

というのを理解していかないと、難しいです。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

checkベストアンサー

+2

インスタンス名.プロパティ名= 値
var 変数名 = 値
console.log()は何のために存在しているのか?
そもそもクラスがあってインスタンスすればそのそのクラス(オブジェクト)が持っているメソッドやプロパ
を使えるなら継承だけでいいのではないか?
インスタンス名.プロパティ名= 値
var 変数名 = 値 などなぜ値を変える必要があるのか? 


おお!ステートレスですね!
「値を変える必要があるのか?」の答えは「ない」だと思います。
もう少し詳しく書くなら、「定義後の代入はない方が望ましいが現実には代入した方が楽なことが多い」が答えかと思います。
「再代入禁止」を戒律としている宗教家プログラマもいるらしいです(問題発言)

なかなかいい疑問なんだと思いますが、質問者には難しいかもしれません。正直、私にも難しいです。
もう少し勉強してからの方がいいかと思いますが、興味があるなら「関数型プログラミング」とか「ステートレス」とか「参照透過性」とかでググってみるといいかと思います。
最近のプログラミングのトレンドではあるようですよ。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+2

はっきり言いますが、そういった基本的な部分を含めた概念を理解する上で、この回答欄は狭すぎます。

「ここはどうだ」という断片的な知識を得るだけではなく、本を読んで実践する、先生について指導してもらうなどの方法で、体系的なものを見に付けて下さい。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/04/06 11:05

    ご指摘ありがとうございます。はい、その通りかもしれません。それはアプリやwebを作る、ITの会社で働く、この質問も含めて、この1,2週間ぐらいで自分の中で解答を出すつもりです。

    キャンセル

+2

ご質問内容は消化不良な感じがします。ご質問の端々をあげつらうようなコメントで心苦しいのですが・・・

  • 5枚くらい表示したいのですが1枚しか...
    =>「プログラミングがうまくいかない」ことから直接関係が薄い話に膨らんでおり、何かうまくいかない苛立ち(?)から質問を他の人になげてしまった感じがします。

  • console.logって
    =>何を疑問と捉えているかはっきりわかりません。console.logがなければなぜ困るかが実感できていないとも受け取れるし、logというメソッドがなぜconsoleに結び付いているのかというような疑問にも取れます。

  • 変数になぜ代入が必要か
    =>逐次実行型のプログラミングの基本的な手法にからむものであり、ご質問に書いてあるような「オブジェクト指向とは?」といった話題と同列に語るレベルの話題とは言えず、質問全体の焦点が絞れてないです。

ここは落ち着いて一歩一歩、今目の前にある課題について充分に焦点を絞った質問をした方がよいでしょう。例えばオブジェクト指向について何か知見を得たいということなら本質問はあさっての方向を向いているように感じます。また質問されている内容と「javaはどうかphpはどうか」には関連性が見出しにくい気がします。こうしたことは「プログラムがなかなかうまく動かない」という状況と戦いつつそれと並行してだんだんに知見を得ていくものぐらいに考えてもよいのではないでしょうか。1週間やそこらで結論を出さなければならないものでもないと思えます。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/04/06 15:52

    仰る通りかもしれません。javascriptもphpもjavaもだいたい基本構造は同じで(変数など javaが一番難しいと思います。多態性など)変数などでオブジェクト指向の考えを取りているのでオブジェクト指向という観点から説明できると思ったからです

    キャンセル

  • 2017/04/06 16:42

    上にも書きましたが、まずオブジェクト指向を深く理解してプログラミングする!と気負わなくてもjavascriptやjavaやphpそれぞれだんだんに覚えていけばよいのではないでしょうか?卵鶏的な話ではあるかも知れませんが、まずは思った通りに動くコードを書くことを優先し、それを楽にできるようにオブジェクト指向とは・・・ということも意識しつつ精進するといったところでいかがでしょうか。

    キャンセル

  • 2017/04/07 11:37 編集

    そうします。今 あるものを作るうえでいろいろなサイトを見てchrome developperで表示して、コードを見ているとjqueryなどのライブラリがいっぱいでてきまして、これは大変だなぁと思いました。少し考えたいともいます。作るまで到達するのにどれだけ時間がかかるのか!!と
    諸言語を勉強したうえでライブラリの勉強もして、改造できるようになるということはもちろん原理をわかっていないといけないので、かなり時間がかかるなぁと

    キャンセル

  • 2017/04/07 15:58

    ほかの分野のこともしながら気長にいかせていただきます。そうしないと挫折する可能性があります。途中でやめるかどうかは自分で決めます。

    キャンセル

+1

写真を5枚くらい表示したいのですが1枚しか表示できません。 

を解決したいのではなく、クラスの概要がしりたいのでしょうか?
そうなると書籍や参考サイトで学習されないと厳しいですね

なお汎用性が高いものは言い換えれば複雑で無駄が多いということです。
あきらかに不要なものまで汎用的に組み込むのはどうかと思いますよ

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+1

引用テキストonsole.log()は何のために存在しているのか?

console.log()はコンソールで確認するためにあります

<script>
var a=123456789;
console.log(a);
</script>


コンソールで確認すれば
123456789
とでます

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

同じタグがついた質問を見る

  • PHP

    21359questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • JavaScript

    17549questions

    JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

  • Java

    14437questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

  • トップ
  • Javaに関する質問
  • 汎用性の高い 根本的な考え方 クラス メソッド property 変数 定義 インスタンス コンストラクタ