0

親オブジェクトを子クラスとして、できれば親クラスのメソッドによって再キャストする簡単な方法はありますか?

たとえば、「Visitor」クラスと「Visitor」を拡張する「Member」クラスがあるとします。認証方法が成功すると、オブジェクトを再キャストすることは可能ですか?

ありがとう

4

3 に答える 3

0

別のオブジェクトを取り、すべてのプロパティを新しいオブジェクトにコピーVisitorするクラスでコンストラクターを定義できます。Visitor次に、このコンストラクターがクラスに継承され、既存のオブジェクトをコピーしMemberてオブジェクトを作成できるようになります。MemberVisitor

于 2012-04-12T21:51:18.697 に答える
0

私が考えることができる最も近い解決策は、新しい「メンバー」オブジェクトを開始し、古い訪問者オブジェクトをコンストラクターに渡すことです。コンストラクターでは、関連する属性を引き出して、それらを新しいオブジェクトに割り当てることができます。

同様のスキーマも同様に機能しますが、何かを php のクラスとして直接キャストすることはできません :[

于 2012-04-12T21:51:31.443 に答える
0

絶対違う!ユーザーが認証されると、リクエストは終了するため、Visitor オブジェクトは存在しなくなります。次のリクエストで、Member オブジェクトを直接ロードします (各ユーザー タイプに関連するオブジェクトをインスタンス化することを知っているある種のファクトリがあると仮定します)。

于 2012-04-13T15:03:42.757 に答える