回答編集履歴

4

ポリモルフィズムについて言及

2024/06/04 00:14

投稿

Paalon
Paalon

スコア266

test CHANGED
@@ -2,4 +2,4 @@
2
2
 
3
3
  オブジェクト同士の一般の相互作用をするようなコードは getter/setter がないと書けません。なので、本質的に getter と setter 必要な場面ですから、気にしなくて良いと思います。ようはオブジェクト指向プログラミングするべきでないコードということです。
4
4
 
5
- 継承が良いのか、委譲が良いのか、はたまた別の手段が良いのかは、そのプログラミング言語によると思います。いずれにせよ、まずは攻撃も防御も行える「キャラクター」クラスを作って、攻撃と防御を実装してから、攻撃キャラクターと防御キャラクターに実装を分けることを考えるべきです。
5
+ 継承が良いのか、委譲が良いのか、はたまた別の手段が良いのかは、そのプログラミング言語によると思います。ポリモルフィズムの実現方法にはろいろあるからです。いずれにせよ、まずは攻撃も防御も行える「キャラクター」クラスを作って、攻撃と防御を実装してから、攻撃キャラクターと防御キャラクターに実装を分けることを考えるべきです。

3

誤字訂正

2024/06/04 00:12

投稿

Paalon
Paalon

スコア266

test CHANGED
@@ -1,5 +1,5 @@
1
1
  オブジェクト指向プログラミングでよく言われるのは、getter/setter を多用するのは結局 private 変数を public 変数にしていることと同じことなので良くないということが第一にあると思います。ただ元から public 変数を前提とした設計を行うなら別に関係のない話です。一般的にはクラス型のオブジェクト指向プログラミングでは、基底クラス「キャラクター」にダメージ計算メソッドを備えて、攻撃キャラクターと防御キャラクターの双方に継承または委譲するような方法が取られるのが一般的ではないでしょうか。
2
2
 
3
- オブジェクト指向同士の一般の相互作用をするようなコードは getter/setter がないと書けません。なので、本質的に getter と setter 必要な場面ですから、気にしなくて良いと思います。ようはオブジェクト指向プログラミングするべきでないコードということです。
3
+ オブジェクト同士の一般の相互作用をするようなコードは getter/setter がないと書けません。なので、本質的に getter と setter 必要な場面ですから、気にしなくて良いと思います。ようはオブジェクト指向プログラミングするべきでないコードということです。
4
4
 
5
5
  継承が良いのか、委譲が良いのか、はたまた別の手段が良いのかは、そのプログラミング言語によると思います。いずれにせよ、まずは攻撃も防御も行える「キャラクター」クラスを作って、攻撃と防御を実装してから、攻撃キャラクターと防御キャラクターに実装を分けることを考えるべきです。

2

情報追加。

2024/06/04 00:09

投稿

Paalon
Paalon

スコア266

test CHANGED
@@ -1,3 +1,5 @@
1
1
  オブジェクト指向プログラミングでよく言われるのは、getter/setter を多用するのは結局 private 変数を public 変数にしていることと同じことなので良くないということが第一にあると思います。ただ元から public 変数を前提とした設計を行うなら別に関係のない話です。一般的にはクラス型のオブジェクト指向プログラミングでは、基底クラス「キャラクター」にダメージ計算メソッドを備えて、攻撃キャラクターと防御キャラクターの双方に継承または委譲するような方法が取られるのが一般的ではないでしょうか。
2
2
 
3
+ オブジェクト指向同士の一般の相互作用をするようなコードは getter/setter がないと書けません。なので、本質的に getter と setter 必要な場面ですから、気にしなくて良いと思います。ようはオブジェクト指向プログラミングするべきでないコードということです。
4
+
3
5
  継承が良いのか、委譲が良いのか、はたまた別の手段が良いのかは、そのプログラミング言語によると思います。いずれにせよ、まずは攻撃も防御も行える「キャラクター」クラスを作って、攻撃と防御を実装してから、攻撃キャラクターと防御キャラクターに実装を分けることを考えるべきです。

1

語字訂正

2024/06/03 23:56

投稿

Paalon
Paalon

スコア266

test CHANGED
@@ -1,3 +1,3 @@
1
- オブジェクト指向プログラミングでく言われるのは、getter/setter を多用するのは結局 private 変数を public 変数にしていることと同じことなので良くないということが第一にあると思います。ただ元から public 変数を前提とした設計を行うなら別に関係のない話です。一般的にはクラス型のオブジェクト指向プログラミングでは、基底クラス「キャラクター」にダメージ計算メソッドを備えて、攻撃キャラクターと防御キャラクターの双方に継承または委譲するような方法が取られるのが一般的ではないでしょうか。
1
+ オブジェクト指向プログラミングでく言われるのは、getter/setter を多用するのは結局 private 変数を public 変数にしていることと同じことなので良くないということが第一にあると思います。ただ元から public 変数を前提とした設計を行うなら別に関係のない話です。一般的にはクラス型のオブジェクト指向プログラミングでは、基底クラス「キャラクター」にダメージ計算メソッドを備えて、攻撃キャラクターと防御キャラクターの双方に継承または委譲するような方法が取られるのが一般的ではないでしょうか。
2
2
 
3
3
  継承が良いのか、委譲が良いのか、はたまた別の手段が良いのかは、そのプログラミング言語によると思います。いずれにせよ、まずは攻撃も防御も行える「キャラクター」クラスを作って、攻撃と防御を実装してから、攻撃キャラクターと防御キャラクターに実装を分けることを考えるべきです。