Androidアプリ作成の予備知識として、オブジェクト指向、クラスの組み合わせ方の王道としてデザインパターンに関して記載していきます。
作成したコードはgitにアップしてあります。
ちなみにEclipseで実装しました。
Abstract Factoryパターン
決められた一部の処理をごっそりと入れ替えることができる、デザインパターンです。
具体的に。。。
親クラスで、一通りの処理を実装しておき、変更、もしくはいろんなパターンで実装したい時に、この方法が使えます。
例として、JavaFXでは、Applicationクラスのstart()メソッドをオーバーライドするという形で実装されています。これは初めてプログラムを作成する人向けに記載しました、とりあえずは写経して動かしてみるのがいちばんだと思いますのでコードと動かすための予備知識的なことを記載しました。
実装サンプル
設計
ハローワールドのプログラムを作成します。ただし、表示する文言は実行するクラスによって変更できるように実装します。
実装
親クラス
public abstract class Main { public void hello() { String value = getValue(); System.out.println(value); } //// 抽象メソッド //// protected abstract String getValue(); }
上の抽象メソッドは処理の中身がありません。これはこの「抽象クラス」を継承する子クラスで実装します。
子クラス
public class ChildA extends Main { public static void main(String[] args) { ChildA main = new ChildA(); main.hello(); } @Override public String getValue() { return "Hello World"; } }
実行結果
こんな感じで、実行できます。
文言の変更
ここで、思うのは「ハローワールドはもういいかな?」というところだと思います。
なので、変更しようと思いますが。。。
この実装はこのまま残しておきます。
しかし、変更はしたいので。。。どーするか?
子クラスをもう1つ
public class ChildB extends Main { public static void main(String[] args) { ChildB main = new ChildB(); main.hello(); } public String getValue() { return "Let's Java!"; } }
実装する内容はほとんど変わりませんが、ちょっと違います。
実行結果は以下の通り
こんな感じです。
でわでわ。。。
関連ページ一覧
Eclipse セットアップ
Java Install Eclipse~開発ツールのインストール~
TensorFlow C++環境~EclipseにCDTをインストール~
Setup OpenGL with Java~JOGLを使う準備 for Eclipse~
JavaFX SceneBuilder ~EclipseとSceneBuilder連携~
Java Basic一覧
Java Basic Level 1 ~Hello Java~
Java Basic Level2 ~Arithmetic Calculate~
Java Basic Level3 ~About String class~
Java Basic Level 5~If Statement~
Java Basic Summary from Level1 to 5
Java Basic Level 6 ~Traning of If statement~
Java Basic Level8 ~How to use for statement~
Java Basic Level 9~Training of for statement~
Java Basic Level 10 ~While statement ~
Java Basic Swing Level 2~オブジェクト指向2~
Java Basic JUnit ~テストスイートの作り方~
Git関連
Java Git clone in Eclipse ~サンプルの取得~
Eclipse Gitリポジトリの取得 ~GitからソースをPullしよう~
IntelliJ IDEA Git~Gitリポジトリからクローン~
JavaFX関連ページ
JavaFX SceneBuilder ~EclipseとSceneBuilder連携~
JavaFX SceneBuilder~ボタンにメソッドを割り当てるワンポイント~
Java プロコンゲーム ~見た目の作成(SceneBuilderの使用)~
ステップアップ関連ページ一覧
Java 初めてでも大丈夫~ステップアッププログラミングのススメ~
ステップアッププログラミング~Java FxでHelloWorld解説~
Java StepUpPrograming~JavaFX で四則計算~
Java StepUpPrograming~JavaFXで画面切り替えを作る1~
Java StepUpPrograming~JavaFXで画面切り替え2ボタン作成~
Java StepUpPrograming~JavaFXで画面切り替え3アクション~
Java StepUpPrograming~JavaFXで画面切り替え4Pane切り替え~
Java StepUpPrograming~JavaFXで画面切り替え5WebEngine
JavaFX + ND4Jで機械学習準備
JavaFX + ND4J~数学への挑戦1:ND4Jのインストール~
Java + ND4J ~数学への挑戦3: ベクトル(配列)の作成方法~
オブジェクト指向関連ページ
[オブジェクト指向の概念1~OracleDocのチュートリアル1~](https://zenryokuservice.com/wp/2019/10/301. /%e3%82%aa%e3%83%96%e3%82%b8%e3%82%a7%e3%82%af%e3%83%88%e6%8c%87%e5%90%91%e3%81%ae%e6%a6%82%e5%bf%b5-%e3%80%9coracledoc%e3%81%ae%e3%83%81%e3%83%a5%e3%83%bc%e3%83%88%e3%83%aa%e3%82%a2%e3%83%ab%ef%bc%91/)