Guide de référence ActionScript® 3.0 pour la plate-forme Adobe® Flash®
Accueil  |  Masquer la liste des packages et des classes |  Packages  |  Classes  |  Nouveautés  |  Index  |  Annexes  |  Pourquoi existe-t-il du contenu en anglais ?
Filtres : Récupération des données du serveur...
Récupération des données du serveur...
Niveau supérieur 

Object  - AS3

PackageNiveau supérieur
Classepublic dynamic class Object
Sous-classes ABRUtils, AbstractMessage, AbstractSearchFilterVO, AbstractStage, AbstractTarget, AccConst, Accessibility, AccessibilityImplementation, AccessibilityProperties, AccessPrivileges, ActionBarDefaultButtonAppearance, ActionScriptVersion, AdjustColor, AdvancedDataGridBaseSelectionData, AdvancedDataGridEventReason, AdvancedDataGridHeaderInfo, AdvancedDataGridRendererDescription, AdvancedDataGridRendererProvider, AggregatingToken, AirDragManagerAutomationHandler, AirFunctionsHelper, AlertFormatter, AlignmentArea, AllRuntimeSparkControls, Animation, AnimatorFactoryBase, AntiAliasType, ApplicationConstants, ApplicationDomain, ApplicationDomainTarget, ApplicationListItem, ApplicationSpecifier, ApproverStatus, ApproverStatus, arguments, Array, ArrayUtil, ArrowDirection, Asset, AssetAction, AssetAction, AssetExplorerServiceDelegate, AssetPropertyDescriptor, AssetPropertyDescriptor, AssetQueryServiceDelegate, AssetTypeDescriptor, AssetTypeDescriptor, AssetValidationFaultType, AssetVO, Assignment, AssignmentConstants, AsyncResponder, AsyncTokenWrapper, AttachmentCommand, AttachmentInfo, AttachmentLoader, AttachmentPermissions, Attribute, AudioDecoder, AudioOutputChangeReason, AudioPlaybackMode, AuditLevel, Auditor, AuthenticationMethod, AuthFailureCode, AuthOptions, AuthorStatus, AuthResult, AuthStatus, AutoCapitalize, Automation, AutomationClass, AutomationEventDescriptor, AutomationHelper, AutomationID, AutomationIDPart, AutomationMethodDescriptor, AutomationPropertyDescriptor, AvailablePropertyIterator, AverageAggregator, AVNetworkingParams, AVTagData, AxisLabel, AxisLabelSet, AXMAccordionItemVO, Back, Back, Back, BackgroundColor, Base64Decoder, Base64Encoder, BaseEntityVO, BaselineOffset, BaselineShift, BaseUser, BaseVO, BezierEase, BezierSegment, BinaryOperator, BindingElement, BindingUtils, BitmapData, BitmapDataChannel, BitmapEncodingColorSpace, BitmapFillMode, BitmapFilter, BitmapFilterQuality, BitmapFilterType, BitmapScaleMode, BitmapSmoothingQuality, BitmapUtil, BlendMode, BlockProgression, Boolean, Bounce, Bounce, Bounce, Bounce, BoundedValue, BoxDirection, BreakOpportunity, BrowserManager, BundleConstants, BundleContext, ButtonLabelPlacement, ButtonLabelPlacement, ByteArray, CachePolicy, CalloutPosition, CameraPosition, CameraRollBrowseOptions, Capabilities, CapsStyle, CartesianCanvasValue, CatalogConstants, CatalogListItem, CatalogSpecifier, Category, CategoryType, CDMAssignment, CellPosition, CellRegion, CertificateStatus, CFFHinting, ChangedItems, ChangeWatcher, CharacterUtil, ChartData, ChartSeries, ChartState, Circular, Circular, Class, ClassFactory, ClearFloats, Clipboard, ClipboardFormats, ClipboardTransferMode, Collator, CollatorMode, CollectionEventKind, CollectionFunc, ColorCorrection, ColorCorrectionSupport, ColorTransform, ColorUtil, ColumnAlign, ColumnState, Comment, CommentManager, ComparisonOperator, ComponentDescriptor, CompositionAttributeRange, CompoundTransform, CompressionAlgorithm, Concurrency, Condition, Config, ConfigModel, Configuration, ConfigUtil, Conflict, ConflictDetector, ContainerController, ContainerCreationPolicy, ContainerDestructionPolicy, ContainerLayout, ContainerLayout, ContentBackgroundAppearance, ContentDomainFactory, ContentElement, ContentServiceProvider, Context3DBlendFactor, Context3DBufferUsage, Context3DClearMask, Context3DCompareMode, Context3DFillMode, Context3DMipFilter, Context3DProfile, Context3DProgramType, Context3DRenderMode, Context3DStencilAction, Context3DTextureFilter, Context3DTextureFormat, Context3DTriangleFace, Context3DVertexBufferFormat, Context3DWrapMode, ContextData, ContextMenuBuiltInItems, ContextMenuClipboardItems, ConversionFunc, ConversionType, ConverterBase, CountAggregator, CreatedAtType, CreatedAtType, CreditCardValidatorCardType, CSMSettings, CSSCondition, CSSConditionKind, CSSSelector, Cubic, Cubic, CuePointManager, CuePointType, CuePointType, CurrencyFormatter, CurrencyParseResult, CurrencyValidatorAlignSymbol, CursorBookmark, CursorManager, CursorManagerPriority, CustomAction, CustomActions, CustomAttribute, CustomEase, DataCaptureUIControlFactory, DataChangeType, DataDescription, DataDictionary, DataDictionaryElement, DataDictionaryElementSubType, DataDictionaryElementType, DataDictionaryReference, DataDictionarySearchFilter, DataDictionaryType, DataDictionaryUtil, DataDownload, DataGridColumn, DataGridEventReason, DataGridEventReason, DataManager, DataModelFactory, DataModule, DataServiceAdapter, DataServiceOfflineAdapter, DataStoreEventDispatcher, Date, DateBase, DateChooserEventDetail, DateRange, DateRangeUtilities, DateSelectorDisplayMode, DateTimeFormatter, DateTimeFunc, DateTimeNameContext, DateTimeNameStyle, DateTimeStyle, DCTServiceProvider, DCTServiceProviderImpl, DDExtendedPropertiesConstants, DefaultDataDescriptor, DefaultExpressionLoader, DefaultResponder, DefaultResponder, DefaultSummaryCalculator, Deferred, DeferredInstanceFromClass, DeferredInstanceFromFunction, Dictionary, DigitCase, DigitWidth, Direction, DisplacementMapFilterMode, DisplayObjectSharingMode, DisplayUtil, Document, DocumentAssignment, DocumentItem, DocumentReference, DocumentSection, DocumentType, DocumentType, DomainFactory, DomainFactoryImpl, DomainInstanceFactory, DomainObject, DomainUtil, DPIClassification, DragManager, DragSource, DRMContentData, DRMDeviceGroup, DRMPlaybackTimeWindow, DRMState, DRMVoucher, DropLocation, DSClassAliasInitializer, DurationUnit, DurationUnit, DynamicMatrix, DynamicProperty, DynamicStreamingItem, DynamicStreamingVideoItem, DynamicStreamingVideoSource, EaseInOutBase, EasingFraction, EBToolBarNameType, EdgeMetrics, EditingMode, EffectTargetFilter, Elastic, Elastic, Elastic, Elastic, ElementFormat, ElementRange, EncryptedLocalStore, EncryptionKeyGenerator, Endian, Error, ErrorManager, ErrorManagerImpl, Event, EventDetails, EventDispatcher, EventPhase, EventPriority, Exponential, Exponential, Expression, ExpressionBuilder, ExpressionImpl, ExpressionManagerImpl, ExpressionValidationResult, ExpressionVO, ExternalInterface, FactoryAdapter, Fault, FaultResponse, FavoritesManager, FiberUtils, Field, FieldAssignment, FieldModel, FileData, FileDataService, FileFilter, FileMode, FileModel, FileSystemEnumerationMode, FileSystemSizeDisplayMode, FlexConfiguration, FlexGlobals, FlexPrintJob, FlexPrintJobScaleType, FlexVersion, Float, FlowComposerBase, FlowDamageType, FlowElement, FlowOperation, FocusDirection, FocusManager, FocusRequestDirection, Folder, Font, FontDescription, FontLookup, FontMetrics, FontPosture, FontStyle, FontType, FontWeight, Form, FormatDescriptor, FormatMessage, Formatter, FormatterUtil, FormatValue, FormEvents, FormItemDirection, FormState, FragmentDetails, FragmentLayoutState, FrameworkConstants, Function, FunctionEase, FunctionFamilyVO, FunctionListContainer, FunctionParameterVO, FunctionService, FunctionVO, GameInputDevice, GesturePhase, GlobalizationUtils, GlobalSettings, GradientType, Graphics, GraphicsBitmapFill, GraphicsEndFill, GraphicsGradientFill, GraphicsPath, GraphicsPathCommand, GraphicsPathWinding, GraphicsShaderFill, GraphicsSolidFill, GraphicsStroke, GraphicsTrianglePath, GraphicsUtil, GraphicsUtilities, GravityInit, GridFitType, GridSelectionEventKind, GridSelectionMode, Grouping, GroupingField, GroupSpecifier, GuideAccessibility, GuideNodeType, H264Level, H264Profile, HaloColors, HaloDefaults, HandlerHolder, HistoryManager, HitData, HorizontalAlign, HorizontalAlign, HostedGuide, HSBColor, HSBInterpolator, HTMLHistoryItem, HTMLHost, HTMLMediaContainer, HTMLPDFCapability, HTMLSWFCapability, HTMLWindowCreateOptions, HTTPUtil, IconPlacement, ID3Info, IKArmature, IKBone, IKJoint, ImageDecodingPolicy, ImageSnapshot, IMEConversionMode, ImmediateFaultToken, ImmediateSuccessToken, IndexBuffer3D, InlineGraphicElementStatus, InstanceCache, int, InteractionInputType, InteractionMode, InteractionState, InterfaceAddress, InternalConfig, InterpolationMethod, InterruptionBehavior, IntUtil, InvalidateRequestData, InvalidationType, InvokeEventReason, IPVersion, ItemResponder, JobId, JobStatus, JointStyle, JPEGEncoder, JPEGEncoderOptions, JPEGXREncoderOptions, JSON, JustificationRule, JustificationStyle, Kerning, Keyboard, KeyboardType, Keyframe, KeyframeBase, KeyLocation, LabelUtil, LastOperationStatus, LastOperationStatus, LayoutDirection, LayoutMode, LCCQueryServiceFactory, LCTaskManagerServiceConstants, LDMAssignment, LeadingModel, LegendData, Letter, LetterInstanceBuilder, LetterState, LigatureLevel, Linear, Linear, Linear, LineBreak, LineJustification, LineScaleMode, LineSeriesSegment, LinkedList, LinkedListNode, LinkState, ListBaseSeekPending, ListBaseSelectionData, ListData, ListEventReason, ListRowInfo, ListStylePosition, ListStyleType, LoaderContext, LoaderUtil, LoadState, LoadVoucherSetting, Locale, LocaleID, LocalizedGanttItemStates, Log, Log, LogEventLevel, Logger, Logger, LoggerFactory, LogLevel, MailParam, MailPart, Managed, ManagedAssociation, ManagedEntity, ManagedOperation, ManualSyncConfiguration, MaskType, Math, MathFunc, Matrix, Matrix3D, MatrixTransformer, MaxAggregator, MBeanFeatureInfo, MBeanInfo, MediaErrorCodes, MediaFactoryItem, MediaFactoryItemType, MediaPlayerState, MediaResourceBase, MediaTraitType, MediaType, MediaType, Message, MessageCacheItem, MessageChannelState, MessageCodes, MessageNumbers, MessagePerformanceUtils, MetricBase, MetricErrorCodes, MetricFactory, MetricFactoryItem, MetricRepository, MetricType, MetricValue, MicrophoneEnhancedMode, MicrophoneEnhancedOptions, MimeType, MinAggregator, ModelExtension, ModuleAssignment, ModuleManager, MotionBase, MotionPath, Mouse, MouseCursor, MouseCursorData, MultiDPIBitmapSource, Multitouch, MultitouchInputMode, MultiValueInterpolator, Mutex, MXMLObjectAdapter, Namespace, NameUtil, NameValuePair, NationalDigitsType, NativeDragActions, NativeDragManager, NativeDragOptions, NativeProcessStartupInfo, NativeWindowDisplayState, NativeWindowInitOptions, NativeWindowRenderMode, NativeWindowResize, NativeWindowSystemChrome, NativeWindowType, NavigationUnit, NavigationUtil, NavigatorHostInstance, NCManager, NetGroupInfo, NetGroupReceiveMode, NetGroupReplicationStrategy, NetGroupSendMode, NetGroupSendResult, NetStreamAppendBytesAction, NetStreamInfo, NetStreamMulticastInfo, NetStreamPlayTransitions, NetworkInterface, NetworkMonitor, None, NotificationStyle, NotificationType, Number, NumberBase, NumberBaseRoundType, NumberFormatter, NumberInterpolator, NumberParseResult, NumberValidatorDomainType, ObjectEncoding, ObjectInstance, ObjectName, ObjectState, ObjectType, ObjectUtil, OLAPAxisPosition, OLAPCell, OLAPDataGridRendererProvider, OLAPQuery, OLAPQueryAxis, OLAPResult, OLAPResultAxis, OLAPSchema, OLAPSet, OLAPTrace, OLAPTuple, OnDemandEventDispatcher, OperationInfo, OperationParameter, OperationType, Orientation3D, OSMFSettings, OSMFStrings, OverflowPolicy, OverlayDepth, PackageDefinition, PackageDefinitionLoader, PackageElement, PageInformation, PanelBreak, PaperSize, Participant, ParticipantAttributes, PdfInfo, PdfPageDetail, PdfParam, PDFResponseType, PermissionStatus, PersistenceManager, PerspectiveProjection, Pin, PixelSnapping, PlaybackDetails, PlayState, PluginInfo, PNGEncoder, PNGEncoderOptions, Point, PopHeader, PopRecord, PopUpManager, PopUpManagerChildList, PopUpPosition, Portfolio, PostScaleAdapter, PreferencesManager, PreviewUIControlFactory, PrincipalSearchFilterVO, PrincipalVO, PrintJobOptions, PrintJobOrientation, PrintMethod, PrintUIOptions, Process, ProcessConstants, ProcessInstance, ProcessVariable, Program3D, ProgressBarDirection, ProgressBarDirection, ProgressBarLabelPlacement, ProgressBarMode, ProgressBarMode, ProjectManagementCoreService, ProjectManagementQueryService, ProjectState, ProjectStatus, ProjectType, Property, Property, PropertyChangeEventKind, PropertyChanges, PropertySpecifier, ProviderFactory, ProviderFactoryImpl, QName, QoSInfo, QoSInfoHistory, Quadratic, Quadratic, QualifiedResourceManager, QualityLevel, Quartic, Quartic, Query, QueryServiceFactory, QueueConstants, QueuesManager, Quintic, Quintic, RCADomainFactory, RCADomainFactoryImpl, RCAPermission, RCAPermission, RCAServiceProvider, RCAServiceProviderImpl, RecipientType, RecipientType, Recommendation, Rectangle, RectangularDropShadow, ReferencesValidationSetting, RegExp, Regular, RelationParameters, RelationshipVO, Reminder, RemoteNotifierSubscribeOptions, RemotingServiceInfo, RenderData, RenderingMode, RepeatBehavior, ResizeMode, ResolvedContent, ResourceBundle, ResourceManager, ResourceRecord, Responder, Responder, ReturnKeyLabel, RevertManager, Review, ReviewCommentingAndApproval, ReviewCommentingAndApprovalUtil, ReviewCommentVisibility, ReviewCommentVisibility, ReviewContext, ReviewContext, ReviewerStatus, ReviewerStatus, ReviewSearchFilter, ReviewStatus, ReviewStatus, ReviewTemplateReference, ReviewType, ReviewType, RevocationCheckSettings, RGBInterpolator, Roles, RotateDirection, RowAlign, RpcClassAliasInitializer, RPCObjectUtil, RPCStringUtil, RPCUIDUtil, RSLData, RuleBase, RuleType, RuleUtils, RuntimeDPIProvider, Sample, ScaleMode, ScaleMode, Scene, SchemaTypeRegistry, ScreenMode, ScrollBarDirection, ScrollBarDirection, ScrollEventDetail, ScrollEventDirection, ScrollEventDirection, ScrollIntoViewUtil, ScrollPolicy, ScrollPolicy, ScrollPolicy, ScrollSnappingMode, SearchFilter, SearchFilter, SearchFilter, SearchFilterAttribute, SearchFilterCondition, SearchFilterSort, SearchParameters, SearchParameters, SearchQuery, SearchQuery, SearchTemplate, SearchTemplateDescriptor, SearchUIControlFactory, Security, SecurityConfig, SecurityDomain, SecurityPanel, SecurityUtil, SelectionFormat, SelectionManager, Sequence, SerializationFilter, ServerConfig, ServerConstants, ServiceBinder, ServiceDelegate, ServiceElement, ServiceElementCollection, ServiceLocator, ServiceLocator, ServiceLocator, ServiceLocator, ServiceLocator, ServiceLocator, ServiceProvider, ServiceProvider, ServiceProvider, ServiceProvider, ServiceProviderImpl, Session, Session, SessionConfiguration, SessionMap, SessionToken, SHA256, SHA256, Shader, ShaderData, ShaderInput, ShaderParameter, ShaderParameterType, ShaderPrecision, SharedObjectFlushStatus, SignatureOptions, SignatureOptions, SignatureStatus, SignerTrustSettings, SimpleCollectionItem, SimpleEase, SimpleXMLDecoder, SimpleXMLEncoder, Sine, Sine, SliderDirection, SliderDirection, SliderEventClickTarget, SliderEventClickTarget, SlideViewTransitionMode, SOAPHeader, SOAPResult, SoftKeyboardTrigger, SoftKeyboardType, SortFieldImpl, SortInfo, SoundCodec, SoundLoaderContext, SoundMixer, SoundTransform, Source, SparkRichEditableTextAutomationHelper, SplashScreenImage, SplashScreenImageSource, SpreadMethod, SQLCollationType, SQLColumnNameStyle, SQLColumnSchema, SQLErrorOperation, SQLMode, SQLResult, SQLSchema, SQLSchemaResult, SQLTransactionLockType, StackFrame, Stage, StageAlign, StageAspectRatio, StageDisplayState, StageFactory, StageManager, StageOrientation, StageQuality, StageScaleMode, StageStatus, StageStatus, StageTemplateSearchFilterVO, StageTextClearButtonMode, StageTextInitOptions, StageTypes, StageTypes, StageVideoAvailability, StageVideoAvailabilityReason, StateDeserializer, Statement, Statement, StateSerializer, StatusReasonCode, StorageVolume, StreamingItem, StreamingItemType, StreamType, String, StringFunc, StringOperand, StringTools, StringUtil, Strong, Style, StyleManager, StyleManager, StyleProxy, SubscriptionInfo, Suffix, SumAggregator, SummaryField, SummaryField2, SummaryObject, SummaryRow, SupportingDocument, SupportingDocument, SWFVersion, SwitchingRuleBase, SwitchSymbolFormatter, SyncManager, System, SystemIdleMode, SystemUpdaterType, TabAlignment, Table, TableColumnDetails, TabOrderManager, TabStop, TabStopFormat, TargetArea, TargetAreaAssignment, TaskACL, TaskAttachmentInfo, TaskCommand, TaskConstants, TaskFormSaveCommand, TaskFormSubmitCommand, TaskFormTakeOfflineCommand, TaskManagerServiceConstants, TaskProperty, TaskTypes, TaskTypes, TBXState, TBXType, TeamMember, Telemetry, TemplateSearchFilter, TemplateSearchFilterVO, TextAlign, TextBaseline, TextBlock, TextClipboard, TextColorType, TextConverter, TextDecoration, TextDisplayMode, TextEditingConstants, TextFieldAutomationHelper, TextFieldAutoSize, TextFieldType, TextFlowLine, TextFlowLineLocation, TextFlowUtil, TextFormat, TextFormatAlign, TextInteractionMode, TextJustifier, TextJustify, TextLayoutFormat, TextLayoutVersion, TextLineCreationResult, TextLineFactoryBase, TextLineMetrics, TextLineMirrorRegion, TextLineRecycler, TextLineValidity, TextRange, TextRange, TextRenderer, TextRotation, TextScrap, TextSelectionHighlighting, TextSnapshot, ThrottleType, Ticket, TicketType, TileBaseDirection, TileDirection, TileListCollectionItem, TileOrientation, TimelineMarker, TLFTypographicCase, Token, Token, Token, TouchEventIntent, TouchInteractionReason, TouchscreenType, Transform, Transition, TriangleCulling, TruncationOptions, Tweenables, TypographicCase, UIComponentCachePolicy, UIDUtil, UIFTETextFieldAutomationImpl, uint, UIServiceFactoryProxy, UITextFieldAutomationImpl, UnaryOperator, UndoManager, UpdateCollectionRange, Updater, URIParser, URLLoaderDataFormat, URLRequest, URLRequestDefaults, URLRequestHeader, URLRequestMethod, URLUtil, URLVariables, User, User, User, UserManager, UserPreference, Util, Utils3D, ValidationResult, Variable, VariableAssignment, VariableOperand, VariableVO, Vector, Vector3D, Version, VertexBuffer3D, VerticalAlign, VerticalAlign, VerticalAlign, VideoAlign, VideoCodec, VideoScaleMode, VideoState, VideoStatus, VideoStreamSettings, ViewNavigatorAction, ViewReturnObject, ViewSource, ViewTransitionDirection, VoucherAccessInfo, WhiteSpaceCollapse, WipeDirection, WorkerDomain, WorkerState, WorkItem, WorkItemManagementService, WorkspaceSession, WSDLBinding, X500DistinguishedName, X509Certificate, XML, XMLConfigProvider, XMLList, XMLNode, XMLNodeType, XMLNotifier, XMLUI, XMLUtil, ZipCodeValidatorDomainType

Versions du moteur d’exécution: Flash Player 9, AIR 1.0, Flash Lite 4

La classe Object forme la racine de la hiérarchie de classes ActionScript. Les objets sont créés à l’aide de constructeurs en appliquant la syntaxe de l’opérateur new et vous pouvez leur affecter des propriétés de façon dynamique. Vous pouvez également créer des objets en affectant un littéral d’objet, comme suit :
var obj:Object = {a:"foo", b:"bar"}

Toutes les classes qui ne déclarent pas de classe de base explicite étendent la classe Object intégrée.

Vous pouvez utiliser la classe Object pour créer des associative arrays. Sous sa forme de base, un tableau associatif est une occurrence de la classe Object et chaque paire clé/valeur est représentée par une propriété et sa valeur. Vous pouvez également déclarer un tableau associatif à l’aide du type de données Object pour la raison suivante : cela vous permet d’utiliser ensuite un littéral d’objet pour alimenter votre tableau associatif (uniquement au moment de la déclaration). L’exemple suivant crée un tableau associatif à l’aide d’un littéral d’objet, accède aux éléments à l’aide de l’opérateur point et d’accès au tableau, puis ajoute une nouvelle paire clé/valeur en créant une nouvelle propriété :

 var myAssocArray:Object = {fname:"John", lname:"Public"};
 trace(myAssocArray.fname);     // John
 trace(myAssocArray["lname"]);  // Public
 myAssocArray.initial = "Q";
 trace(myAssocArray.initial);   // Q

ActionScript 3.0 dispose de deux types d’héritage : par classe et par prototype :

  • L’héritage de classe est le principal mécanisme d’héritage et prend en charge l’héritage des propriétés fixes. Une propriété fixe est une variable, une constante ou une méthode déclarée dans le cadre d’une définition de classe. Chaque définition de classe est à présent représentée par un objet de classe spécial qui mémorise les informations relatives à la classe.
  • Héritage par prototype : il s’agissait de l’unique mécanisme d’héritage des versions précédentes d’ActionScript et constitue l’une des deux solutions d’héritage d’ActionScript 3.0. Chaque classe est associée à un objet prototype et les propriétés de l’objet prototype sont partagées par tous les héritages de la classe. Lorsqu’une classe est générée, elle contient une référence à l’objet prototype correspondant, qui sert de lien entre l’occurrence et l’objet prototype de classe associé. Lors de l’exécution, si une propriété ne figure pas dans une occurrence de classe, elle est recherchée dans le délégué, à savoir l’objet prototype de la classe. Si l’objet prototype ne contient pas la propriété, le processus se poursuit et le délégué de l’objet prototype effectue des recherches dans des niveaux de plus en plus élevés de la hiérarchie jusqu’à ce que le moteur d’exécution de Flash trouve la propriété.

L’héritage de classe et l’héritage de prototype peuvent coexister, comme illustré dans l’exemple suivant :

 class A {
     var x = 1
     prototype.px = 2
 }
 dynamic class B extends A {
     var y = 3
     prototype.py = 4
 }
  
 var b = new B()
 b.x // 1 via class inheritance
 b.px // 2 via prototype inheritance from A.prototype
 b.y // 3
 b.py // 4 via prototype inheritance from B.prototype
  
 B.prototype.px = 5
 b.px // now 5 because B.prototype hides A.prototype
  
 b.px = 6
 b.px // now 6 because b hides B.prototype

Si vous utilisez des fonctions au lieu de classes, vous pouvez générer des arborescences d’héritage de prototype personnalisées. Avec les classes, l’arborescence d’héritage de prototype reflète à l’identique l’arborescence d’héritage de classe. Cependant, les objets prototype étant dynamiques, vous pouvez ajouter et supprimer des propriétés associées aux prototypes lors de l’exécution.

Consulter les exemples

Informations complémentaires

Eléments de l’API associés



Propriétés publiques
 PropriétéDéfini par
  constructor : Object
Référence à l’objet de classe ou à la fonction constructeur d’une occurrence donnée d’un objet.
Object
  prototype : Object
[statique] Référence à l’objet prototype d’un objet de classe ou fonction.
Object
Méthodes publiques
 MéthodeDéfini par
  
Crée un objet Object et stocke une référence à la méthode constructeur de l’objet dans la propriété constructor de ce dernier.
Object
  
Indique si la propriété spécifiée d’un objet est définie.
Object
  
Indique si une occurrence de la classe Object figure dans la chaîne de prototype de l’objet spécifié en tant que paramètre.
Object
  
Indique si la propriété spécifiée existe et est énumérable.
Object
  
Définit la disponibilité d’une propriété dynamique pour les opérations en boucle.
Object
  
Renvoie la représentation de chaîne de cet objet, formatée selon les paramètres régionaux en vigueur.
Object
  
Renvoie la représentation sous forme de chaîne de l’objet spécifié.
Object
  
Renvoie la valeur primitive de l’objet spécifié.
Object
Détails de la propriété

constructor

propriété
public var constructor:Object

Versions du moteur d’exécution: Flash Player 9, Flash Lite 4, Flash Player 9, AIR 1.0

Référence à l’objet de classe ou à la fonction constructeur d’une occurrence donnée d’un objet. Si un objet est une occurrence de classe, la propriété constructor contient une référence à l’objet de classe. Si un objet est créé par le biais d’une fonction constructeur, la propriété constructor contient une référence à la fonction constructeur. Ne confondez pas une fonction constructeur avec une méthode constructeur de classe. Une fonction constructeur est un objet Function permettant de créer des objets et peut être utilisée au lieu du mot-clé class pour définir des classes.

Si vous utilisez le mot-clé class pour définir une classe, la propriété constructor, qui contient une référence à l’objet de classe, est affectée à l’objet prototype correspondant. Une occurrence de la classe hérite de cette propriété à partir de l’objet prototype. Le code suivant crée par exemple une classe, A, et une occurrence de classe, myA :

     dynamic class A {}
     trace(A.prototype.constructor);      // [class A]
     trace(A.prototype.constructor == A); // true
     var myA:A = new A();
     trace(myA.constructor == A);         // true

Les utilisateurs chevronnés peuvent opter pour le mot-clé function au lieu du mot-clé class pour définir un objet Function, qui pourra servir de modèle de création d’objet. Ce type de fonction porte le nom de fonction constructeur, car vous pouvez l’utiliser en conjonction avec l’opérateur new pour créer des objets. Si vous utilisez le mot-clé function pour créer une fonction constructeur, la propriété constructor, qui contient une référence à la fonction constructeur, est affectée à l’objet prototype correspondant. Si vous utilisez ensuite la fonction constructeur pour créer un objet, celui-ci hérite de la propriété constructor à partir de l’objet prototype de la fonction constructeur. Le code suivant crée par exemple une fonction constructeur, f, et un objet, myF :

     function f() {}
     trace(f.prototype.constructor);      // function Function() {}
     trace(f.prototype.constructor == f); // true
     var myF = new f();
     trace(myF.constructor == f);         // true

Remarque : la propriété constructor est accessible en écriture, ce qui signifie que la valeur du code utilisateur peut être modifiée par une instruction d’affectation. Il n’est pas recommandé de modifier la valeur de la propriété constructor, mais si vous rédigez du code affecté par la valeur de la propriété constructor, assurez-vous que la valeur n’est pas réinitialisée. La valeur ne peut être modifiée que lors d’un accès à la propriété par le biais de l’objet prototype (className.prototype.constructor, par exemple).

Si vous accédez à la propriété constructor et compilez en mode strict, vous obtenez une erreur lors de la compilation, car la propriété constructor dépend de l’objet prototype, ce qui est une entité d’exécution. Si vous utilisez mode standard ou si la description de la classe spécifie « dynamic », le code s’exécute sans générer d’erreur.

Eléments de l’API associés

prototype

propriété 
public static var prototype:Object

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 9, AIR 1.0, Flash Lite 4

Référence à l’objet prototype d’un objet de classe ou fonction. La propriété prototype est créée automatiquement et est liée à tout objet de classe ou fonction que vous créez. Cette propriété est statique dans la mesure où elle est propre à la classe ou la fonction que vous créez. Par exemple, si vous créez une classe, la valeur de la propriété prototype est partagée par toutes les occurrences de la classe et est accessible uniquement en tant que propriété de classe. Les occurrences de votre classe ne peuvent pas accéder directement à la propriété prototype.

L’objet prototype d’une classe est une occurrence spéciale de cette classe, qui propose un mécanisme de partage d’état parmi toutes les occurrences d’une classe. Lors de l’exécution, si une propriété ne figure pas dans une occurrence de classe, elle est recherchée dans le délégué, à savoir l’objet prototype de la classe. Si l’objet prototype ne contient pas la propriété, le processus se poursuit et le délégué de l’objet prototype effectue des recherches dans des niveaux de plus en plus élevés de la hiérarchie jusqu’à ce que le moteur d’exécution de Flash trouve la propriété.

Remarque : dans ActionScript 3.0, l’héritage de prototype ne constitue pas le principal mécanisme d’héritage. Ce rôle incombe à l’héritage de classe, qui assure l’héritage des propriétés fixes dans les définitions de classe.

Détails du constructeur

Object

()Constructeur
public function Object()

Versions du moteur d’exécution: Flash Player 9, AIR 1.0, Flash Lite 4

Crée un objet Object et stocke une référence à la méthode constructeur de l’objet dans la propriété constructor de ce dernier.

Détails de la méthode

hasOwnProperty

()méthode
AS3 function hasOwnProperty(name:String):Boolean

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 9, AIR 1.0, Flash Lite 4

Indique si la propriété spécifiée d’un objet est définie. Cette méthode renvoie true si l’objet cible comporte une propriété qui correspond à la chaîne spécifiée par le paramètre name et false dans les autres cas. Les types de propriétés suivants forcent la méthode à renvoyer la valeur true pour les objets qui sont des occurrences de classe, plutôt que des objets de classe :

  • Propriétés d’occurrence fixes : variables, constantes ou méthodes définies par la classe de l’objet qui ne sont pas statiques.
  • Propriétés d’occurrence fixes héritées : variables, constantes ou méthodes héritées par la classe de l’objet.
  • Propriétés dynamiques : propriétés ajoutées à un objet après son instanciation (hors de la définition de classe). Pour ajouter des propriétés dynamiques, la classe de définition de l’objet doit être déclarée avec le mot-clé dynamic.

Les types de propriétés suivants forcent la méthode à renvoyer la valeur false pour les objets qui sont des occurrences de classe :

  • Propriétés statiques : variables, constantes ou méthodes définies avec le mot-clé statique dans la classe de définition d’un objet ou dans l’une de ses super-classes.
  • Propriétés de prototype : propriétés définies pour un objet prototype appartenant à la chaîne de prototype de l’objet. Dans ActionScript 3.0, la chaîne de prototype n’est pas utilisée pour l’héritage de classe, mais demeure une autre forme d’héritage valide. Par exemple, une occurrence de la classe Array peut accéder à la méthode valueOf() parce qu’elle est associée à Object.prototype, qui fait partie de la chaîne de prototype de la classe Array. Bien que vous puissiez utiliser valueOf() sur une occurrence d’Array, la valeur renvoyée par hasOwnProperty("valueOf") pour cette occurrence correspond à false.

ActionScript 3.0 gère également les objets de classe, qui sont des représentations directes des définitions de classe. Si vous l’appelez sur un objet de classe, la méthode hasOwnProperty() ne renvoie true que si une propriété fait partie des propriétés statiques associées à l’objet de classe. Par exemple, si vous créez une sous-classe d’Array appelée CustomArray et que vous définissez une propriété statique dans CustomArray appelée foo, tout appel de CustomArray.hasOwnProperty("foo") renvoie true. Cependant, pour la propriété statique DESCENDING définie dans la classe Array, un appel de CustomArray.hasOwnProperty("DESCENDING") renvoie false.

Remarque : les méthodes de la classe Object sont créées dynamiquement sur le prototype correspondant. Pour redéfinir cette méthode dans une sous-classe d’Object, n’utilisez pas le mot-clé override. Une sous-classe d’Object implémente par exemple function hasOwnProperty():Boolean au lieu d’utiliser un remplacement de la classe de base.

Paramètres

name:String — Propriété de l’objet.

Valeur renvoyée
Boolean — Renvoie name si l’objet cible comporte la propriété spécifiée par le paramètre true, false dans tous les autres cas.

isPrototypeOf

()méthode 
AS3 function isPrototypeOf(theClass:Object):Boolean

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 9, AIR 1.0, Flash Lite 4

Indique si une occurrence de la classe Object figure dans la chaîne de prototype de l’objet spécifié en tant que paramètre. Cette méthode renvoie true si l’objet figure dans le chaînage de prototype de l’objet spécifié par le paramètre theClass. La méthode renvoie false si l’objet cible est absent de la chaîne de prototype de l’objet theClass et si le paramètre theClass n’est pas un objet.

Remarque : les méthodes de la classe Object sont créées dynamiquement sur le prototype correspondant. Pour redéfinir cette méthode dans une sous-classe d’Object, n’utilisez pas le mot-clé override. Une sous-classe d’Object implémente par exemple function isPrototypeOf():Boolean au lieu d’utiliser un remplacement de la classe de base.

Paramètres

theClass:Object — Classe à laquelle risque de se référer l’objet spécifié.

Valeur renvoyée
Boolean — Renvoie true si l’objet figure dans la chaîne de prototype de l’objet spécifié par le paramètre theClass, false dans le cas contraire.

propertyIsEnumerable

()méthode 
AS3 function propertyIsEnumerable(name:String):Boolean

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 9, AIR 1.0, Flash Lite 4

Indique si la propriété spécifiée existe et est énumérable. Si la valeur est true, la propriété existe et peut être énumérée dans une boucle for..in. La propriété doit exister au niveau de l’objet cible dans la mesure où cette méthode ne vérifie pas la chaîne de prototype de l’objet cible.

Les propriétés que vous créez sont énumérables, contrairement aux propriétés intégrées qui ne le sont généralement pas.

Remarque : les méthodes de la classe Object sont créées dynamiquement sur le prototype correspondant. Pour redéfinir cette méthode dans une sous-classe d’Object, n’utilisez pas le mot-clé override. Une sous-classe d’Object implémente par exemple function propertyIsEnumerable():Boolean au lieu d’utiliser un remplacement de la classe de base.

Paramètres

name:String — Propriété de l’objet.

Valeur renvoyée
Boolean — Renvoie true si la propriété spécifiée par le paramètre name est énumérable, false dans le cas contraire.

setPropertyIsEnumerable

()méthode 
public function setPropertyIsEnumerable(name:String, isEnum:Boolean = true):void

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 9, AIR 1.0, Flash Lite 4

Définit la disponibilité d’une propriété dynamique pour les opérations en boucle. La propriété doit exister au niveau de l’objet cible dans la mesure où cette méthode ne vérifie pas la chaîne de prototype de l’objet cible.

Paramètres

name:String — Propriété de l’objet.
 
isEnum:Boolean (default = true) — Si défini sur false, la propriété dynamique est ignorée dans les boucles for..in et la méthode propertyIsEnumerable() renvoie false.

Eléments de l’API associés

toLocaleString

()méthode 
public function toLocaleString():String

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 9, AIR 1.0, Flash Lite 4

Renvoie la représentation de chaîne de cet objet, formatée selon les paramètres régionaux en vigueur.

Par défaut, l’implémentation de cette méthode n’entraîne pas le formatage selon les paramètres régionaux et renvoie la même chaîne que toString(). Les sous-classes doivent fournir leur propre implémentation en fonction des paramètres régionaux lorsque cela est nécessaire.

Remarque : les méthodes de la classe Object sont créées dynamiquement sur le prototype correspondant. Pour redéfinir cette méthode dans une sous-classe d’Object, n’utilisez pas le mot-clé override. Par exemple, une sous-classe d’Object implémente la méthode function toLocaleString():String au lieu d’avoir recours au remplacement de la classe de base.

Valeur renvoyée
String — Une représentation de cet objet sous forme de chaîne, formatée conformément aux conventions locales.

Eléments de l’API associés

toString

()méthode 
public function toString():String

Versions du moteur d’exécution: Flash Player 9, AIR 1.0, Flash Lite 4

Renvoie la représentation sous forme de chaîne de l’objet spécifié.

Remarque : les méthodes de la classe Object sont créées dynamiquement sur le prototype correspondant. Pour redéfinir cette méthode dans une sous-classe d’Object, n’utilisez pas le mot-clé override. Par exemple, une sous-classe d’Object implémente function toString():String au lieu d’utiliser un remplacement de la classe de base.

Valeur renvoyée
String — Représentation sous forme de chaîne de l’objet.

valueOf

()méthode 
public function valueOf():Object

Versions du moteur d’exécution: Flash Player 9, AIR 1.0, Flash Lite 4

Renvoie la valeur primitive de l’objet spécifié. Si l’objet n’a pas de valeur primitive, il est lui-même renvoyé.

Remarque : les méthodes de la classe Object sont créées dynamiquement sur le prototype correspondant. Pour redéfinir cette méthode dans une sous-classe d’Object, n’utilisez pas le mot-clé override. Une sous-classe d’Object implémente par exemple function valueOf():Object au lieu d’utiliser un remplacement de la classe de base.

Valeur renvoyée
Object — Valeur primitive de l’objet ou l’objet lui-même.

Eléments de l’API associés

ObjectExample.as

L’exemple suivant utilise les classes ObjectExample et Circle pour démontrer la nature dynamique de la classe Object et la façon dont les objets de valeur peuvent être transformés en objets Shape, puis ajoutés à la scène aux coordonnées x/y spécifiées.

L’exemple crée les objets de valeur firstInitObj et secondInitObj. La classe personnalisée Circle accepte l’objet valeur et exécute une boucle sur ce dernier tout en définissant ses propriétés internes correspondantes sur celles qui sont définies dans l’objet de valeur.

package {
    import flash.display.Sprite;

    public class ObjectExample extends Sprite {
        public function ObjectExample() {
            var firstInitObj:Object = new Object();
            firstInitObj.bgColor = 0xFF0000;
            firstInitObj.radius = 25;
            firstInitObj.xCenter = 25;
            firstInitObj.yCenter = 25;
                        
            var firstCircle:Circle = new Circle(firstInitObj);
            addChild(firstCircle);
            firstCircle.x = 50;
            firstCircle.y = 50;

            var secondInitObj:Object = {bgColor:0xCCCCCC, radius:50, xCenter:50, yCenter:50};

            var secondCircle:Circle = new Circle(secondInitObj);            
            addChild(secondCircle);
            secondCircle.x = 100;
            secondCircle.y = 100;
        }
        
    }
}

import flash.display.Shape;
    
class Circle extends Shape {
    public var bgColor:Number = 0xFFFFFF;
    public var radius:Number = 0;
    public var xCenter:Number = 0;
    public var yCenter:Number = 0;
        
    public function Circle(initObj:Object) {
        for(var i:String in initObj) {
            this[i] = initObj[i];
        }
        draw();
    }
        
    public function draw():void {
        graphics.beginFill(bgColor);
        graphics.drawCircle(xCenter, yCenter, radius);
        graphics.endFill();
    }
}




[ X ]Pourquoi existe-t-il du contenu en anglais ?
Certaines parties du Guide de référence ActionScript 3.0 sont en anglais

Tout le contenu du Guide de référence ActionScript 3.0 n’a pas été traduit dans toutes les langues. Si un élément de langage n’est pas traduit, il s’affiche en anglais. Par exemple, la classe ga.controls.HelpBox n’est traduite dans aucune langue. Ainsi, dans la version française du guide de référence, la classe ga.controls.HelpBox apparaît en anglais.