2016-09-02 6 views
-3

「動物」のオブジェクト(たとえばobj1)を返すメソッドがあります。私はそのオブジェクトを取って、それをオブジェクト '' Person ''のオブジェクト(obj2)に変更したいと思います。だから、私は '' Animal ''を拡張する 'Person'という新しいクラスを作成し、 '' Person ''は '' firstName ''のような新しいデータメンバーを含んでいます。しかし、私はどのようにオブジェクト "obj1"を取って、クラス "Person"の新しいデータメンバーを初期化してobj2にすることができないのか分かりません。スーパークラスのオブジェクトに新しいデータを追加してサブクラスのオブジェクトを作成する

+0

しようとしているものが不明なのでコードと詳細を追加してください – Li357

答えて

1

は2つの方法があります。

1)の引数として動物を扱うと抽象またはインターフェイスとして

2)作る人の内側に必要な初期化を行うには人のために新しいコンストラクタを作成します(必要に応じて)、その後あなたは

ここ

は、私が良い例を見つけた人インターフェイスメソッドで強化されたOBJ1コピーを取得

Person p = (Person) obj1; 

型キャストこの方法を実行しますどうすればいいですか: cast to an abstract class...how this is possible?

関連する問題