=encoding euc-jp =head1 NAME =begin original base - Establish an ISA relationship with base classes at compile time =end original base - コンパイル時に基底クラスとの ISA 関係を構築する =head1 SYNOPSIS package Baz; use base qw(Foo Bar); =head1 DESCRIPTION =begin original Unless you are using the C pragma, consider this module discouraged in favor of the lighter-weight C. =end original C プラグマを使っているのでない限り、このモジュールは非推奨です; 代わりに軽量な C を使ってください。 =begin original Allows you to both load one or more modules, while setting up inheritance from those modules at the same time. Roughly similar in effect to =end original 一つまたは複数のモジュールを読み込んで、それらのモジュールから継承するのを 同時に行います。 おおよそ次のような効果があります: package Baz; BEGIN { require Foo; require Bar; push @ISA, qw(Foo Bar); } =begin original When C tries to C a module, it will not die if it cannot find the module's file, but will die on any other error. After all this, should your base class be empty, containing no symbols, C will die. This is useful for inheriting from classes in the same file as yourself but where the filename does not match the base module name, like so: =end original C がモジュールを C しようとしたとき、モジュールのファイルが 見つからなくても die しません。 しかしその他のエラーでは die します。 これら全ての後、基底クラスが空で、シンボルを含んでいない場合、 C は die します。 これは次のように、自分自身で同じファイルにあるけれども ファイル名が基底モジュール名と一致しないクラスから継承するのに有用です: # in Bar.pm package Foo; sub exclaim { "I can have such a thing?!" } package Bar; use base "Foo"; =begin original There is no F, but because C defines a symbol (the C subroutine), C will not die when the C fails to load F. =end original F はありませんが、C はシンボル (C サブルーチン) を 定義しているので、C は C が F の読み込みに失敗しても die しません。 =begin original C will also initialize the fields if one of the base classes has it. Multiple inheritance of fields is B supported, if two or more base classes each have inheritable fields the 'base' pragma will croak. See L for a description of this feature. =end original C はまた、基底クラスのいずれかが持っているフィールドを初期化します。 多重継承は対応して B<いません>; 複数の基底クラスがそれぞれ継承可能な フィールドを持っている場合、'base' プラグマは croak します。 この機能の説明については L を参照してください。 =begin original The base class' C method is B called. =end original 基底クラスの C メソッドは B<呼び出されません>。 =head1 DIAGNOSTICS (診断メッセージ) =over 4 =item Base class package "%s" is empty. =begin original base.pm was unable to require the base package, because it was not found in your path. =end original パスに見つからなかったので、base.pm は基底パッケージを require できませんでした。 =item Class 'Foo' tried to inherit from itself =begin original Attempting to inherit from yourself generates a warning. =end original 自分自身を継承しようとすると警告が出ます。 package Foo; use base 'Foo'; =back =head1 HISTORY =begin original This module was introduced with Perl 5.004_04. =end original このモジュールは Perl 5.004_04 で導入されました。 =head1 CAVEATS (注意) =begin original Due to the limitations of the implementation, you must use base I you declare any of your own fields. =end original 実装上の制限により、独自のフィールドを宣言する I<前に>use base しなければなりません。 =head1 SEE ALSO L =begin meta Translate: SHIRAKATA Kentaro Status: completed =end meta =cut