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

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

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

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

オブジェクト指向

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

Q&A

解決済

2回答

331閲覧

サブクラスにそれぞれ違う名前のメソッドを持たせても良い?

tetsutail

総合スコア81

Java

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

オブジェクト指向

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

0グッド

0クリップ

投稿2018/10/07 14:35

編集2018/10/07 14:40

同じ親クラスAを持つサブクラスBとCがあるとします。
その時、

abstract class A{
a(){
}
}

class B extends A{
// a()をオーバーライド(省略)

// さらにb()もつくりたい
b(){
}
}

class C extends A{
// a()をオーバーライド(省略)

// さらにc()もつくりたい
c(){
}
}

このようなことはオブジェクト指向的にはすべきではないと思いますか?

実際にすべきではないとしても、使った経験等がありましたら教えていただきたいです。

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2018/10/07 14:46

extends : 拡張
hayataka2049

2018/10/07 14:53

逆にどうして駄目だと思ったのか(どういうシチュエーションでそれをやると困ると考えているのか)を書いた方が回答がつきやすいと思います
guest

回答2

0

ベストアンサー

いや、JDKのクラスでも普通にそんなのやってますし…
というかそれができないなら継承する意味がない

投稿2018/10/07 14:48

swordone

総合スコア20651

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

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

0

好みはあると思いますが、継承の考えからすれば問題ないかと思います。
業務の中で利用するのであれば、何段階も継承しなければ利用しても問題視されないです。

背景として、継承は「〜は...でもある(B is A)」の関係ですから、
BクラスがAクラスのメソッドを利用できて、かつBクラス独自のメソッドを持つことは自然です。

たとえば人間も犬も動物ですから「歩く」メソッドは共通で持っているが、
「しゃべる」メソッドは人間にだけ実装して、「吠える」メソッドは犬にだけ実装するような感じでしょうか。
(人間でも吠えてるような人はいますが、、、笑)

投稿2018/10/07 15:23

koboriakira

総合スコア13

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問