2012-01-25 5 views
4

1つのファイルに複数のクラスがあります。それらを@ -folderクラスに変換する素早い方法はありますか?すべての単一機能を転送して機能ファイルを1回ずつ分離するのは苦労です。1つのファイルクラスをフォルダクラスにすばやく変換します

+0

フォルダクラスでは、古いスタイルのコンストラクタがあると思います。 – Nzbuu

+0

はい、公式には@フォルダーと呼ばれています。こちらをご覧ください:http://www.mathworks.de/help/techdoc/matlab_oop/brfynrp-1.html#brfynrp-2 – tim

+0

私はR2008aよりも前のことを考えています構文:http://www.mathworks.co.uk/help/releases/R2007b/techdoc/matlab_prog/f6-48272.html – Nzbuu

答えて

3

classdefファイルから既存のメソッドを移動する必要はありません。それを@folderに移動し、別のMファイルとして新しいメソッドを追加するだけで済みます。 M-ファイルとして定義されたメソッドは、サブディレクトリprivateに属さない限り、常にパブリックになります。

クラスtimeseriesクラスを、classdefファイルと@フォルダーを使用して定義されたクラスの例として見てください。 $matlabroot\toolbox\matlab\timeseries\@timeseriesにあるはずです。

+0

しかし、* classdef *を含むファイルはどう扱われますか? –

+0

私はそれを知っていますが、既存の方法はどうですか?あなたはこれで触れません:( – tim

+0

私は、すべてを動かすのではなく、手で最大のメソッドを移動するだけです。classdefファイルはクラスの一貫した定義を保証します。可能な限り。 – Nzbuu

関連する問題