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

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

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

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

オブジェクト指向

オブジェクト指向プログラミング(Object-oriented programming;OOP)は「オブジェクト」を使用するプログラミングの概念です。オブジェクト指向プログラムは、カプセル化(情報隠蔽)とポリモーフィズム(多態性)で構成されています。

Q&A

解決済

1回答

1704閲覧

多態性の大体のイメージ=多数の独自規格→規格統一のみたいな感じ? (イメージ的に似ているが・・・)

mr0237

総合スコア164

Java

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

オブジェクト指向

オブジェクト指向プログラミング(Object-oriented programming;OOP)は「オブジェクト」を使用するプログラミングの概念です。オブジェクト指向プログラムは、カプセル化(情報隠蔽)とポリモーフィズム(多態性)で構成されています。

0グッド

0クリップ

投稿2018/06/17 10:19

オブジェクト指向を勉強・練習している者です。エンジニアとは関係ないような質問をして、さらに説明の仕方が下手ですいませんが、

「多態性」とは、

多数の異なる個々の型を共通化(統一化)する。

共通化したものを
提供
する

というものですが、「共通化→柔軟に追加・変更しやすくする」メリットとして

1.共通化することができるので、新たに覚えなくても良い。
2.ミス・モレ・重複の割合が減ることができる。
3.いちいちifやswitchで分岐することなく、追加・変更箇所を減らすことができる。
4.コードの重複化を抑えることができ、処理をまとめることができる。(記述が楽になる)
5.追加・変更探して書き換える手間が省ける。
6.効率化できるので、楽になれる。
7.変更・追加の「高い箇所」と「低い箇所」を明確化できる。
8.変更の可能性が「低い箇所」→「高い箇所」に階層(レイヤー)化ができる。

↑のようなメリットがありますが、わかりやすい、大雑把な例えに例える


多態性のイメージ:
「多数の独自規格」→「規格統一」

という例え的なイメージでいいんでしょうか?

具体例としては
**「MIDI規格」**というものです。

規格統一前は独自規格の電子音ファイルが多数あった。
イメージ説明


互換性を持ちたい。
(つまり、誰でも簡単に使えるようにしたいという考えから)

共通化する =>「規格統一

イメージ説明


**共通化(規格統一)**ものをベースに、個々に作成

イメージ説明

多態性大体のイメージに例えるとこういう感じになるのでしょうか?

「MIDI規格=多態性」は共通化するという点では似ていると思います。
もちろん自分自身も何か間違っていてて、何か正しいところもあるかと思いますが、


多態性:
「多数の独自規格」→「規格統一」→追加・変更しやすくする

という考えでいいんでしょうか?よろしくお願いします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

こんにちは。

多態性の最大のメリットは「互換性を持ちたい。」と思いますよ。
異なるものを同じ方法で使えるという意味です。使う側は本当に楽になります。
例えば自動車の各ペダルの並び順がメーカー毎に異なっていたら悲惨ですよね。統一して互換性をもたせることにより、かなり楽に使えるようになります。

「多数の独自規格」→「規格統一」→追加・変更しやすくする

追加・変更しやすくなるとはとても思えません。世の中には様々な標準規格が存在しますが、自社だけでは規格を決定できなくなります。どのような規格にするのかメーカー間の丁々発止の駆け引き後に決まります。追加・変更の手間は恐ろしいものになります。
クローズド・システムとオープン・システムでは一般にクローズドの方が進歩は速いです。規格を自社のみで決定できるからです。iPhoneとAndroidではiPhoneの方が進歩は速いですが、両方使えるようになるのは結構大変です。どちらか一方しか使えない人が多いのでは?(私もその一人)

「多数の独自規格」→「規格統一」→使いやすくなる

だと思います。結果、使う側は楽になる(当然、使う側プログラムの追加・変更も楽になります)ということですね。

投稿2018/06/17 10:37

編集2018/06/17 10:39
Chironian

総合スコア23272

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問