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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Java

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

PHP

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

JavaScript

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

Q&A

解決済

6回答

4503閲覧

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

goforward

総合スコア705

Java

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

PHP

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

JavaScript

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

0グッド

1クリップ

投稿2017/04/06 01:54

編集2017/04/06 07:00

混乱してきたので今後のことも考えて、このへんで整理したいと思います。
写真を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版
筒井 俊祐 (著), 里山 南人 (著), 松田 承一 (著), 笹城戸 裕記 (著), 毛受 崇洋 (著)

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

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

alg

2017/04/06 02:15 編集

質問したい内容が複数あるようです。「console.log()は何のために存在しているのか?」「そのクラス(オブジェクト)が持っているメソッドやプロパを使えるなら継承だけでいいのではないか? 」「var 変数名 = 値 などなぜ値を変える必要があるのか?」teratailでの1回の質問は、単一の問題について整理して質問していただけないでしょうか。
alg

2017/04/06 02:16

「こちらの質問は私の成長と共に再編集させていただきます。」ということは、lastsamuraiさんの理解した内容を整理してこの質問に記載する、ということかと思います。が、そういうことであればteratailではない別のメディアのほうが適しているかもしれません。ご自身のブログとか、Qiitaとか。
goforward

2017/04/06 05:28

Qiitaに投稿してみます。
date

2017/04/06 06:26

この本全部持っているということですか
goforward

2017/04/06 14:40 編集

いいえ、ポケット図解 オブジェクト指向の基本がよ~くわかる本 単行本 – 2010/5/20 谷口 功 (著)だけは買いましたが、他はすべて図書館で借りた本です、大体読みましたがもちろん忘れています。今持っているのはJavaScriptプログラミング入門 第2版 大型本 – 2006/9/23 大津 真 (著)と黒帯エンジニアが教えるプロの技術 Android開発の教科書 Kindle版 筒井 俊祐 (著), 里山 南人 著), 松田 承一 (著), 笹城戸 裕記 (著), 毛受 崇洋 (著)だけです。しかしいつでも借りられます
goforward

2017/04/06 06:54

本は内容が古くなるので購入は考えどころです。買うなら電子書籍になるかもしれません。
Zuishin

2017/04/07 03:10

この文章のまんま Qiita に投稿されていますが。
goforward

2017/04/07 03:21 編集

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

2017/04/07 07:01

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

2017/04/07 09:00

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

回答6

0

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

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

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

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

投稿2017/04/06 02:06

tacsheaven

総合スコア13703

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

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

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

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

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

投稿2017/04/06 12:26

Lhankor_Mhy

総合スコア36104

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

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

  • 5枚くらい表示したいのですが1枚しか...

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

  • console.logって

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

  • 変数になぜ代入が必要か

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

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

投稿2017/04/06 06:16

KSwordOfHaste

総合スコア18394

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

goforward

2017/04/06 06:52

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

2017/04/06 07:42

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

2017/04/07 03:38 編集

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

2017/04/07 06:58

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

0

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

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

script

1<script> 2var a=123456789; 3console.log(a); 4</script>

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

投稿2017/04/06 02:11

編集2017/04/06 02:12
date

総合スコア1820

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

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

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

投稿2017/04/06 02:00

maisumakun

総合スコア145183

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

goforward

2017/04/06 02:05

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

0

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

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

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

投稿2017/04/06 02:05

yambejp

総合スコア114829

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問