Referencia de ActionScript® 3.0 para la plataforma de Adobe® Flash®
Inicio  |  Ocultar lista de paquetes y clases |  Paquetes  |  Clases  |  Novedades  |  Índice  |  Apéndices  |  ¿Por qué hay texto en inglés?
Filtros: Recuperando datos del servidor...
Recuperando datos del servidor...
Nivel superior 

Object  - AS3

PaqueteNivel superior
Clasepublic dynamic class Object
Subclases 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

Versiones de motor de ejecución: Flash Player 9, AIR 1.0, Flash Lite 4

La clase Object se encuentra en la raíz de la jerarquía de clases de ActionScript. Los objetos se crean mediante constructores, empleando la sintaxis de operador new, y se le pueden asignar propiedades dinámicamente. Los objetos también pueden crearse mediante la asignación de un literal de objeto como, por ejemplo:
var obj:Object = {a:"foo", b:"bar"}

Todas las clases que no declaran una clase base explícita amplían la clase Object incorporada.

Puede emplear la clase Object para crear conjuntos asociativos. En el fondo, un conjunto asociativo es una instancia de la clase Object y cada par clave-valor se representa mediante una propiedad y su valor. Otra razón para declarar un conjunto asociativo como tipo Object es que permite utilizar un literal de objeto para llenar el conjunto asociativo (pero sólo en el momento en que se declara). El ejemplo siguiente crea un conjunto asociativo utilizando un literal de objeto, accede a los elementos empleando el operador de punto y el operador de acceso a conjunto y, a continuación, añade un nuevo par clave-valor creando una propiedad nueva:

 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 tiene dos tipos de herencia: herencia de clase y herencia de prototipo:

  • Herencia de clase: es el principal mecanismo de herencia y admite la herencia de propiedades fijas. Una propiedad fija es una variable, una constante o un método declarado como parte de una definición de clase. Cada definición de clase se representa ahora mediante un objeto de clase especial que almacena información sobre la clase.
  • Herencia de prototipo: es el único mecanismo de herencia que existía en las versiones anteriores de ActionScript y es una forma alternativa de herencia en ActionScript 3.0. Cada clase tiene un objeto prototipo asociado y las propiedades del objeto prototipo son compartidas por todas las instancias de la clase. Cuando se crea una instancia de clase, ésta tiene una referencia al objeto prototipo de su clase, que actúa como vínculo entre la instancia y su objeto prototipo de clase asociado. En tiempo de ejecución, cuando se encuentra una propiedad en una instancia de clase, se comprueba dicha propiedad en el delegado (delegate), que es el objeto prototipo de la clase. Si el objeto prototype no contiene la propiedad, el proceso continúa con la comprobación del delegado del objeto prototipo en niveles superiores sucesivos en la jerarquía, hasta que el motor de ejecución de Flash encuentra la propiedad.

La herencia de clase y la herencia de prototipo pueden darse simultáneamente, como se muestra en el siguiente ejemplo:

 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

Mediante el uso de funciones en lugar de clases, puede construir árboles de herencia de prototipo personalizados. Con las clases, el árbol de herencia de prototipo refleja el árbol de herencia de clase. Sin embargo, dado que los objetos prototipo son dinámicos, puede añadir y eliminar propiedades basadas en prototipos en tiempo de ejecución.

Ver los ejemplos

Elementos de API relacionados



Propiedades públicas
 PropiedadDefinido por
  constructor : Object
Una referencia a la clase de objeto o función constructora para una instancia de objeto determinada.
Object
  prototype : Object
[estática] Una referencia al objeto prototipo de una clase u objeto de función.
Object
Métodos públicos
 MétodoDefinido por
  
Crea un objeto Object y almacena una referencia al método constructor del objeto en la propiedad constructor del objeto.
Object
  
Indica si un objeto tiene definida una propiedad especificada.
Object
  
Indica si hay una instancia de la clase Object en la cadena de prototipo del objeto especificado como parámetro.
Object
  
Indica si existe la propiedad especificada y si es enumerable.
Object
  
Establece la disponibilidad de una propiedad dinámica para operaciones de bucle.
Object
  
Devuelve la representación de cadena de este objeto, con formato según las convenciones específicas de configuración regional.
Object
  
Devuelve la representación de cadena del objeto especificado.
Object
  
Devuelve el valor simple del objeto especificado.
Object
Información sobre propiedades

constructor

propiedad
public var constructor:Object

Versiones de motor de ejecución: Flash Player 9, Flash Lite 4, Flash Player 9, AIR 1.0

Una referencia a la clase de objeto o función constructora para una instancia de objeto determinada. Si un objeto es una instancia de una clase, la propiedad constructor contiene una referencia al objeto de la clase. Si un objeto se crea con una función constructora, la propiedad constructor contiene una referencia a la función constructora. No debe confundir una función constructora con un método constructor de una clase. Una función constructora es un objeto Function empleado para crear objetos y es una alternativa al uso de la palabra clave class para definir clases.

Si utiliza la palabra clave class para definir una clase, se asigna al objeto prototipo de la clase una propiedad llamada constructor que contiene una referencia al objeto de la clase. Una instancia de la clase hereda esta propiedad del objeto prototipo. Por ejemplo, el código siguiente crea una nueva clase, A y una instancia de clase llamada 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

Los usuarios avanzados pueden optar por utilizar la palabra clave function en lugar de la palabra clave class para definir un objeto Function que puede utilizarse como plantilla para crear objetos. Dicha función se denomina función constructora porque puede utilizarse conjuntamente con el operador new para crear objetos. Si utiliza la palabra clave function para crear una función constructora, se asigna a su objeto prototipo una propiedad llamada constructor que contiene una referencia a la función constructora. Si posteriormente utiliza la función constructora para crear un objeto, el objeto heredará la propiedad constructor del objeto prototipo de la función constructora. Por ejemplo, el código siguiente crea una nueva función constructora, f, y un objeto llamado myF:

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

Nota: la propiedad constructor es de escritura, lo que significa que el código del usuario puede cambiar de valor con una sentencia de asignación. No es recomendable el cambio de valor de la propiedad constructor, pero, si escribe código que dependa del valor de la propiedad constructor, deberá asegurarse de que el valor no se restablece. El valor sólo puede cambiar cuando se accede a la propiedad mediante el objeto prototipo (por ejemplo, className.prototype.constructor).

Si se accede al constructor y se compila en modo estricto, se producirá un error en tiempo de compilación porque la propiedad del constructor depende del objeto prototype, que es una entidad de tiempo de ejecución. Si utiliza modo estándar o si la descripción de la clase especifica “dynamic”, el código se ejecuta sin generar un error.

Elementos de API relacionados

prototype

propiedad 
public static var prototype:Object

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 9, AIR 1.0, Flash Lite 4

Una referencia al objeto prototipo de una clase u objeto de función. La propiedad prototype se crea y asocia automáticamente a cualquier clase u objeto de función que cree. Esta propiedad se considera estática porque es específica de la clase o función que usted crea. Por ejemplo, si crea una clase, todas las instancias de la clase compartirán el valor de la propiedad prototype y sólo será accesible como propiedad de clase. Las instancias de la clase no pueden acceder directamente a la propiedad prototype.

El objeto prototipo de una clase es una instancia especial de dicha clase que proporciona un mecanismo para compartir el estado entre todas las instancias de una clase. En tiempo de ejecución, cuando se encuentra una propiedad en una instancia de clase, se comprueba dicha propiedad en el delegado (delegate), que es el objeto prototipo de la clase. Si el objeto prototype no contiene la propiedad, el proceso continúa con la comprobación del delegado del objeto prototipo en niveles superiores sucesivos en la jerarquía, hasta que el motor de ejecución de Flash encuentra la propiedad.

Nota: en ActionScript 3.0, la herencia de prototipo no es el mecanismo principal de herencia. La herencia de clase, a través de la cual se heredan propiedades fijas en las definiciones de clases, es el principal mecanismo de herencia en ActionScript 3.0.

Información sobre constructores

Object

()Información sobre
public function Object()

Versiones de motor de ejecución: Flash Player 9, AIR 1.0, Flash Lite 4

Crea un objeto Object y almacena una referencia al método constructor del objeto en la propiedad constructor del objeto.

Información sobre métodos

hasOwnProperty

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

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 9, AIR 1.0, Flash Lite 4

Indica si un objeto tiene definida una propiedad especificada. Este método devuelve true si el objeto de destino tiene una propiedad que coincide con la cadena especificada por el parámetro name, y false en caso contrario. Los siguientes tipos de propiedades provocan que este método devuelva true para objetos que son instancias de una clase (en lugar de objetos de clase):

  • Propiedades de instancia fijas: variables, constantes o métodos definidos por la clase del objeto que no son estáticas;
  • Propiedades de instancia fijas heredadas: variables, constantes o métodos heredados por la clase del objeto;
  • Propiedades dinámicas: propiedades añadidas a un objeto después de que se cree una instancia de éste (fuera de su definición de clase). Para añadir propiedades dinámicas, la clase que define al objeto debe declararse con la palabra clave dynamic.

Los siguientes tipos de propiedades provocan que este método devuelva false para objetos que son instancias de una clase:

  • Propiedades estáticas: variables, constantes o métodos definidos con la palabra clave static en la clase que define a un objeto o cualquiera de sus superclases;
  • Propiedades prototipo: propiedades definidas en un objeto prototipo que forma parte de la cadena de prototipo del objeto. En ActionScript 3.0, la cadena de prototipo no se utiliza para la herencia de clase, pero continúa existiendo como forma alternativa de herencia. Por ejemplo, una instancia de la clase Array puede obtener acceso al método valueOf() porque existe en Object.prototype, que forma parte de la cadena de prototipo de la clase Array. Aunque puede utilizar valueOf() en una instancia de Array, el valor devuelto por hasOwnProperty("valueOf") para dicha instancia es false.

ActionScript 3.0 también tiene objetos de clase que son representaciones directas de las definiciones de clase. Cuando se le llama en objetos de clase, el método hasOwnProperty() devuelve true sólo si una propiedad es estática y está definida en dicho objeto de clase. Por ejemplo, si crea una subclase de Array denominada CustomArray y define una propiedad estática en CustomArray denominada foo, una llamada a CustomArray.hasOwnProperty("foo") devolverá true. No obstante, en el caso de la propiedad estática DESCENDING definida en la clase Array, una llamada a CustomArray.hasOwnProperty("DESCENDING") devolverá false.

Nota: los métodos de la clase Object se crean dinámicamente en el prototipo de Object. Para redefinir este método en una subclase de Object, no utilice la palabra clave override. Por ejemplo, una subclase de Object implementa function hasOwnProperty():Boolean en lugar de utilizar una sustitución de la clase base.

Parámetros

name:String — La propiedad del objeto.

Valor devuelto
Boolean — Si el objeto de destino tiene la propiedad especificada por el parámetro name, este valor es true; en caso contrario es false.

isPrototypeOf

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

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 9, AIR 1.0, Flash Lite 4

Indica si hay una instancia de la clase Object en la cadena de prototipo del objeto especificado como parámetro. Este método devuelve true si el objeto está presente en la cadena de prototipo del objeto especificado por el parámetro theClass. El método devuelve false si el objeto de destino no está presente en la cadena de prototipo del objeto theClass y también si el parámetro theClass no es un objeto.

Nota: los métodos de la clase Object se crean dinámicamente en el prototipo de Object. Para redefinir este método en una subclase de Object, no utilice la palabra clave override. Por ejemplo, una subclase de Object implementa function isPrototypeOf():Boolean en lugar de utilizar una sustitución de la clase base.

Parámetros

theClass:Object — La clase a la que puede referirse el objeto especificado.

Valor devuelto
Boolean — Si el objeto está presente en la cadena de prototipo del objeto especificado por el parámetro theClass, este valor es true, en caso contrario este valor es false.

propertyIsEnumerable

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

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 9, AIR 1.0, Flash Lite 4

Indica si existe la propiedad especificada y si es enumerable. Si su valor es true, la propiedad existe y puede enumerarse en un bucle for..in. La propiedad debe existir en el objeto de destino porque este método no comprueba la cadena de prototipo del objeto de destino.

Aunque las propiedades que se crean son enumerables, las propiedades incorporadas no suelen ser enumerables.

Nota: los métodos de la clase Object se crean dinámicamente en el prototipo de Object. Para redefinir este método en una subclase de Object, no utilice la palabra clave override. Por ejemplo, una subclase de Object implementa function propertyIsEnumerable():Boolean en lugar de utilizar una sustitución de la clase base.

Parámetros

name:String — La propiedad del objeto.

Valor devuelto
Boolean — Si la propiedad especificada por el parámetro name es enumerable, este valor es true, en caso contrario, el valor es false.

setPropertyIsEnumerable

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

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 9, AIR 1.0, Flash Lite 4

Establece la disponibilidad de una propiedad dinámica para operaciones de bucle. La propiedad debe existir en el objeto de destino porque este método no comprueba la cadena de prototipo del objeto de destino.

Parámetros

name:String — La propiedad del objeto.
 
isEnum:Boolean (default = true) — Si se define como false, la propiedad dinámica no aparece en los bucles for..in y el método propertyIsEnumerable() devuelve false.

Elementos de API relacionados

toLocaleString

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

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 9, AIR 1.0, Flash Lite 4

Devuelve la representación de cadena de este objeto, con formato según las convenciones específicas de configuración regional.

La implementación predeterminada de este método no realiza formato con configuración regional específica y devuelve la misma cadena que toString(). Las subclases siempre deben proporcionar su propia implementación de acuerdo con la configuración regional cuando sea conveniente.

Nota: los métodos de la clase Object se crean dinámicamente en el prototipo de Object. Para redefinir este método en una subclase de Object, no utilice la palabra clave override. Por ejemplo, una subclase de Object implementa function toLocaleString():String en lugar de utilizar una sustitución de la clase base.

Valor devuelto
String — Una representación de cadena de este objeto con formato según las convenciones locales.

Elementos de API relacionados

toString

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

Versiones de motor de ejecución: Flash Player 9, AIR 1.0, Flash Lite 4

Devuelve la representación de cadena del objeto especificado.

Nota: los métodos de la clase Object se crean dinámicamente en el prototipo de Object. Para redefinir este método en una subclase de Object, no utilice la palabra clave override. Por ejemplo, una subclase de Object implementa function toString():String en lugar de utilizar una sustitución de la clase base.

Valor devuelto
String — Una representación de cadena del objeto.

valueOf

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

Versiones de motor de ejecución: Flash Player 9, AIR 1.0, Flash Lite 4

Devuelve el valor simple del objeto especificado. Si este objeto no tiene un valor simple, se devuelve el propio objeto.

Nota: los métodos de la clase Object se crean dinámicamente en el prototipo de Object. Para redefinir este método en una subclase de Object, no utilice la palabra clave override. Por ejemplo, una subclase de Object implementa function valueOf():Object en lugar de utilizar una sustitución de la clase base.

Valor devuelto
Object — El valor simple de este objeto o el propio objeto.

Elementos de API relacionados

ObjectExample.as

El siguiente ejemplo utiliza las clases ObjectExample y Circle para demostrar la naturaleza dinámica de la clase Object y para ver cómo se pueden transformar los objetos de valor en objetos Shape y, después, añadirlos en el escenario en las coordenadas x/y especificadas.

El ejemplo crea los objetos de valor firstInitObj y secondInitObj. La clase personalizada Circle acepta el objeto de valor y ejecuta un bucle mientras define sus propiedades internas coincidentes según las definidas en el objeto valor.

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 ]¿Por qué hay texto en inglés?
Cierto contenido de la Referencia de ActionScript 3.0 se muestra en inglés

No todo el contenido de la Referencia de ActionScript 3.0 se traduce a todos los idiomas. Si un elemento del lenguaje no se traduce, aparecerá en inglés. Por ejemplo, la clase ga.controls.HelpBox no está traducida en ningún idioma. Por lo tanto, en la versión en español de la referencia, la clase ga.controls.HelpBox aparecerá en inglés.