teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

独自定義のデメリット

2017/03/25 08:40

投稿

swordone
swordone

スコア20675

answer CHANGED
@@ -4,4 +4,8 @@
4
4
  オブジェクトを文字列として出力するにあたり、このオブジェクトはこのメソッドで、あのオブジェクトはあのメソッドで、あれ、それはなんてメソッドだっけ?
5
5
 
6
6
  ということになり、非常に使い勝手が悪いです。
7
- すべての参照型が持っているtoStringを書き換えたほうが、操作を統一できて便利なのです。
7
+ すべての参照型が持っているtoStringを書き換えたほうが、操作を統一できて便利なのです。
8
+
9
+ また、独自の文字列化メソッドを実装した場合のデメリットとして、**定義したクラスの親クラス型では使えない**ことも挙げられます。
10
+ 例のDogクラスの場合、Dog型ならstrメソッドが使えますが、Object型の変数に入った場合に使えなくなります。
11
+ ObjectのメソッドtoStringならそんなことはなく、いつでも使うことができます。