0

AS3のOOPとセッター/ゲッターとオーバーライドに関するチュートリアルに従っています。
チュートリアルでは、 と を含むボタンとして機能extendsするクラスを作成しました。spriteshapetextfield

heightチュートリアルの作成者は、クラスのプロパティを使用する場合 (次のように継承されます) を示していますDisplayObject

button.height = 100;

shapeボタンの が拡大されるだけでなく、その中のtextfieldと フォントも拡大されて大きくなります。作成者はこれを望んでおらずshape、フォント サイズはそのままにして、 のみを拡大したいと考えています。彼はこれを次のように行います。

override public function set height(h:Number):void {
// Custom code here.
}

Adobe の AS3 API リファレンスを詳しく調べたところ、の高さmethodを設定するものが見つからないため、これは私を混乱させています。forDisplayObjectしか見えません。propertyheight

に入る前にoverride、著者は説明するsetters and gettersので、概念を理解しています。overrideしかし、setter存在しないように見える方法を理解できませんか?
そもそも何かがそこになければならないものをオーバーライドできると思っていたでしょう。

誰かがこのテクニックを説明できれば、私は非常に感謝しています.

4

1 に答える 1

2

プロパティは常にパブリック変数であるとは限りません。実際、DisplayObjectheightプロパティにはセッターとゲッター関数の両方があるため、セッターが存在し、オーバーライドできます。

于 2013-07-18T14:51:17.643 に答える