No.1ベストアンサー
- 回答日時:
抽象クラスFactoryには引数なしでClassAを返すcreateClassAメソッドが
あるってことですね。
抽象クラスFactoryを継承するクラスには『引数なしでClassAを返すcreateClassAメソッド』を実装する必要があります。
・・・むつかしい・・・
この回答への補足
abstract ClassA createClassA();で、
createClassA()メソッドが実装されるのかと思いました。
ありがとうございます。
当方はJavaを勉強しています。
abstractなどjavaの基本文法は読破しております。
現在は、例外処理の仕方を勉強しています。
平行して、デザインパターンも勉強していました。
アブストラクトファクトリーパターンという23個中の2個目でつまずきました。
が、よくよく読むと、createClassA()メソッドが存在することがわかりました。
class Factory extend MyFactory
{
ClassA createClassA() { return new MyClass(); }
}
ご迷惑をお掛けしました。m__m
No.3
- 回答日時:
abstractクラスは誰かに継承してもらって始めて意味がでてきます
継承したほうのクラスは、abstractなクラスにかいてあるabstractなメソッドを実装しなければなりません
実装というのは
ClassA createClassA(){
// いろいろ処理
return ClassAのインスタンス;
}
というふうに、中括弧の中身を書くことです
この回答への補足
ClassAオブジェクトに、
createClassA()などの生成系を集めていたようです。
プログラムを追うのに失敗していました。
ありがとうございます。
当方はJavaを勉強しています。
abstractなどjavaの基本文法は読破しております。
現在は、例外処理の仕方を勉強しています。
平行して、デザインパターンも勉強していました。
アブストラクトファクトリーパターンという23個中の2個目でつまずきました。
が、よくよく読むと、createClassA()メソッドが存在することがわかりました。
class Factory extend MyFactory
{
ClassA createClassA() { return new MyClass(); }
}
ご迷惑をお掛けしました。m__m
No.2
- 回答日時:
どういう回答を求めているのか迷うわね。
タイトル通りabstractの説明をすればいいのかしら。
abstractなクラスは日本語で抽象クラスというわ。
abstractなクラスの特徴は、abstractなメソッドを持つことよ。
abstractなクラスは将来必ずsubクラスを持つことが確定しているわ。
そしてそのsubクラスは必ずabstractなメソッドを実装する必要があるの。
あえて、工場と言うわ。
親クラスは「工場」という抽象的なクラス。
この工場は何かを生産する。
でも単に「工場」では何を作るかわからないから
「製品を生産する」というメソッドは実装することができないわ。
だから戻り値「製品」メソッド名「生産する」で
「工場」という抽象クラスを用意しておくの。
ここで「工場」というクラスを継承して「車の工場」というサブクラスを用意すると
「生産する」の内容は「車」を生産することになるわけ。
もちろん「車」は「製品」を継承してね。
こういう作り方をしておけば
どんな工場でも同じメソッド名と同じ戻り値でアクセスできるから
将来拡張を行うとき、サブクラスを変更するだけで済んじゃうという
とっても便利な考え方なのよ。
また、abstractなクラスは
サブクラスを実装するための設計書
という見方もできるわ。
abstractなクラスのサブクラスは
必ずabstractなクラスのabstractなメソッドを実装しなさい
というルールができあがるわ。
ちなみに、abstractなクラスを継承したクラスで
abstractなメソッドを実装しなかった場合
そのクラスもabstractなクラスとする必要があるので注意よ。
ありがとうございます。
当方はJavaを勉強しています。
abstractなどjavaの基本文法は読破しております。
現在は、例外処理の仕方を勉強しています。
平行して、デザインパターンも勉強していました。
アブストラクトファクトリーパターンという23個中の2個目でつまずきました。
が、よくよく読むと、createClassA()メソッドが存在することがわかりました。
class Factory extend MyFactory
{
ClassA createClassA() { return new MyClass(); }
}
ご迷惑をお掛けしました。m__m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript javascriptで入力フォームが空欄の時にアラートによるエラーを出すコードを書いています。 2 2023/06/13 17:58
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- Perl PERL 1 2022/04/26 14:15
- Java javaの質問です 次の機能を有するメソッド4つを自クラスに作成し、実装したいです 【機能】 足し算 1 2022/06/15 15:14
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- Java java 次の機能を有するメソッドを自クラスに作成し、実装したいです。 機能 名前判定機能 →名前が 3 2022/06/16 16:08
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- 英語 class ってイギリスでどういう意味で使われていますか? スラングです 2 2022/08/15 12:04
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- Java java final 1 2022/06/10 22:49
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
抽象クラスをJUNITでテストする...
-
抽象クラスからオーバーライド...
-
JavaにListElement型ってあるん...
-
「ラッパークラス」の存在意義...
-
オーバーライドとラッパーの違い
-
C#からDLLを呼びたいのですが・...
-
vb.net 自作プロパティの削除に...
-
(vba)他のアプリケーションの右...
-
setTextについて
-
抽象クラスのエラーが出ます
-
委譲って何ですか?
-
単体テストのテストケースにて...
-
【C#】クラスのコンストラクタ...
-
JavaでのAPIの覚え方ってみさな...
-
オブジェクト指向の特徴
-
JTextFieldの入力制限
-
ASP.NETでの共通コードの書き方...
-
「インターフェイス」って何の...
-
「IOException は対応する try ...
-
Javaのインターフェイスの意味
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
interface,extend,implementの...
-
(vba)他のアプリケーションの右...
-
抽象クラスをJUNITでテストする...
-
「ラッパークラス」の存在意義...
-
ASP.NETでの共通コードの書き方...
-
JTextFieldの入力制限
-
「継承されたメソッドの可視性...
-
C# 「データが失なわれる可能性...
-
VB DLLプロジェクトについて
-
c++でのヘッダーファイルの循環...
-
【C#】クラスのコンストラクタ...
-
「IOException は対応する try ...
-
ファイルパスが取得出来ない(P...
-
メソッドの引数にクラス名を渡す
-
ゲッターを使わないで変数にア...
-
Javaのインスタンス化の構文の...
-
オーバーライドとラッパーの違い
-
vb.net 自作プロパティの削除に...
-
なぜインタフェースを使うのか?
-
VBがオブジェクト指向言語でな...
おすすめ情報