Object composition (original) (raw)
Objektová kompozice (anglicky object composition) je v informatice způsob, jak v objektově orientovaném programování kombinovat jednoduché (základní) objekty nebo typy dat do složitějších. Objektová kompozice (tj. složení, skladba) je důležitý nástroj pro vytváření pokročilých datových struktur, jako je například spojový seznam nebo binární strom. Tyto složené datové struktury jsou dále používány stejným způsobem jako základní objekty.
Property | Value |
---|---|
dbo:abstract | La composició d'objectes a les ciències de la computació és una manera de combinar objectes o tipus de dades simples per crear-ne un de més complex. Les composicions són una part important de moltes estructures de dades bàsiques (llista enllaçada, arbre binari…). S'usa principalment per implementar una relació entre dos objectes. La composició en general té una forta dependència del cicle de vida entre les instàncies de la classe contenidora i les instàncies de la classe continguda: si es destrueix el contenidor, normalment cada instància que conté es destrueix també. Un exemple real de composició podria ser la relació entre un automòbil i les seves parts: un automòbil té o està compost per objectes com un volant, un seient, una caixa de canvis i un motor. La composició s'ha de distingir del , que és el procés de detallar un tipus de dada general o crear un tipus més específic. Per exemple, els cotxes poden ser un tipus específic de vehicle. El subtipatge no descriu una relació entre diferents objectes, sinó que mostra que un objecte d'un tipus és també a la vegada objecte d'un altre tipus. (ca) Objektová kompozice (anglicky object composition) je v informatice způsob, jak v objektově orientovaném programování kombinovat jednoduché (základní) objekty nebo typy dat do složitějších. Objektová kompozice (tj. složení, skladba) je důležitý nástroj pro vytváření pokročilých datových struktur, jako je například spojový seznam nebo binární strom. Tyto složené datové struktury jsou dále používány stejným způsobem jako základní objekty. (cs) En ciencias de la computación, la composición de objetos es una forma de combinar objetos o tipos de datos en otros más complejos. Las composiciones se relacionan con, pero no son las mismas que, las estructuras de datos y las que son más comunes son la unión etiquetada, el conjunto, la secuencia y varias estructuras gráficas, así como el objeto utilizado en la programación orientada a objetos. La composición de objetos se refiere a la estructura lógica o conceptual de la información, no a la implementación o estructura de datos físicos utilizada para representarla. Por ejemplo, una secuencia difiere de un conjunto porque (entre otras cosas) el orden de los elementos que los componen es importante para el primero pero no para el segundo. Se pueden utilizar estructuras de datos tales como matrices, listas enlazadas, tablas hash y muchas otras para implementar cualquiera de ellas. Algunos de los términos son utilizados tanto para estructuras de datos como para composiciones. Por ejemplo, "árbol binario" puede referirse a uno de los dos: como estructura de datos es un medio para acceder a una secuencia lineal de elementos, y las posiciones reales de los elementos en el árbol son irrelevantes (el árbol puede ser reorganizado internamente como uno quiera, sin cambiar su significado). Sin embargo, como una composición de objetos, las posiciones son relevantes, y cambiarlas cambiaría el significado (como por ejemplo en los cladogramas). (es) En programmation informatique, la composition est une technique qui permet de combiner plusieurs éléments de programmation entre eux pour obtenir un élément ayant une fonctionnalité plus complexe. On distingue la composition de fonctions, la composition d'objets, et la composition dans les modèles. (fr) In computer science, object composition and object aggregation are closely related ways to combine objects or data types into more complex ones. In conversation the distinction between composition and aggregation is often ignored. Common kinds of compositions are objects used in object-oriented programming, tagged unions, sets, sequences, and various graph structures. Object compositions relate to, but are not the same as, data structures. Object composition refers to the logical or conceptual structure of the information, not the implementation or physical data structure used to represent it. For example, a sequence differs from a set because (among other things) the order of the composed items matters for the former but not the latter. Data structures such as arrays, linked lists, hash tables, and many others can be used to implement either of them. Perhaps confusingly, some of the same terms are used for both data structures and composites. For example, "binary tree" can refer to either: as a data structure it is a means of accessing a linear sequence of items, and the actual positions of items in the tree are irrelevant (the tree can be internally rearranged however one likes, without changing its meaning). However, as an object composition, the positions are relevant, and changing them would change the meaning (as for example in cladograms). (en) В объектно-ориентированном программировании под агрегированием (или как его еще называли ранее - делегированием) подразумевают методику создания нового класса из уже существующих классов путём их включения. Об агрегировании также часто говорят как об «отношении принадлежности» по принципу «у машины есть корпус, колёса и двигатель». Вложенные объекты нового класса обычно объявляются закрытыми, что делает их недоступными для прикладных программистов, работающих с классом. С другой стороны, создатель класса может изменять эти объекты, не нарушая при этом работы существующего клиентского кода. Кроме того, замена вложенных объектов на стадии выполнения программы позволяет динамически изменять её поведение. Механизм наследования такой гибкостью не обладает, поскольку для производных классов устанавливаются ограничения, проверяемые на стадии компиляции. На базе агрегирования реализуется методика делегирования, когда поставленная перед внешним объектом задача перепоручается внутреннему объекту, специализирующемуся на решении задач такого рода. (ru) Em ciência da computação, composição de objetos (não confundir com ) é uma maneira de se combinar objetos simples ou tipos de dados em objetos mais complexos. Composições são blocos de construção críticos de muitas estruturas de dados básicas, incluindo a , lista ligada e árvore binária, bem como o objeto utilizado em programação orientada a objetos. Objetos compostos são frequentemente referidos como tendo um relacionamento "". Um exemplo de composição do mundo real pode ser visto em um automóvel: os objetos roda, volante, banco, transmissão e motor podem não ter utilidade funcionando isoladamente, mas um objeto chamado automóvel contendo todos estes objetos teria uma função muito útil, maior que a soma de todas as suas partes. Quando, em uma linguagem de programação, os objetos são tipados, os tipos geralmente podem ser dividos em tipos compostos e não-compostos e a composição pode ser considerada uma relação entre os tipos: um objeto de um tipo composto (e.g. carro) "tem um" objeto de um tipo mais simples (e.g. roda). A composição deve ser distinguida de , que é o processo de adicionar detalhes a um tipo de dados geral para criar um tipo de dados mais específico. Por exemplo, os carros podem ser um tipo específico de veículo: carro veículo. Subtipo não descreve um relacionamento entre objetos diferentes, em vez disso, ele diz que objetos de um tipo são simultâneamente objetos de outro tipo. Em linguagens de programação, objetos compostos são normalmente expressos por meio de referências de um objeto para outro, que dependendo da linguagem, tais referências podem ser conhecidas como campos, membros, propriedades ou atributos e a composição resultante como uma estrutura, , tupla, tipo definido pelo usuário (TDU) ou . São atribuídos nomes exclusivos aos campos para que cada um possa ser distinguido dos outros. Entretanto, possuir tais referências não significa necessariamente que um objeto é composto. Ele só pode ser definido como composto se os objetos a que ele se refere fazem parte dele de fato, isto é, não existem isoladamente. Para detalhes, veja a seção agregação abaixo. (pt) Композиція у програмуванні або ж Об'єктна композиція, також Агрегація та включення — це створення об'єктів існуючих класів як елементів інших класів. Про композицію також часто говорять як про «відношення приналежності» за принципом у «у машини є корпус, колеса і двигун». Вкладені об'єкти нового класу зазвичай оголошуються закритими, що робить їх недоступними для прикладних програмістів, що працюють з класом. З іншого боку, творець класу може змінювати ці об'єкти, не порушуючи роботи існуючого клієнтського коду. Крім того, заміна вкладених об'єктів на стадії виконання програми дозволяє динамічно змінювати її поведінку. Механізм наслідування такої гнучкості не має, оскільки для похідних класів встановлюються обмеження, що перевіряються на стадії компіляції. На відміну від наслідування, в композиції тип відносин є Has-a тобто має (машина має двигун). В наслідуванні ж тип відносин між породженим об'єктом і батьківським є Is-a зв'язком, тобто якщо об'єкт кішка породжено від тварина, то кішка є тварина (cat is a pet). (uk) |
dbo:thumbnail | wiki-commons:Special:FilePath/UML_properties_of_a_bicycle.png?width=300 |
dbo:wikiPageExternalLink | http://ootips.org/uml-hasa.html |
dbo:wikiPageID | 1911078 (xsd:integer) |
dbo:wikiPageLength | 19711 (xsd:nonNegativeInteger) |
dbo:wikiPageRevisionID | 1094380436 (xsd:integer) |
dbo:wikiPageWikiLink | dbr:Encapsulation_(computer_programming) dbr:Mereology dbr:C++_structure dbr:Binary_tree dbr:Delegation_(object-oriented_programming) dbr:Arrays dbr:University dbr:Interface_(object-oriented_programming) dbr:ML_programming_language dbr:Common_Lisp dbr:Component_Object_Model dbr:Object-oriented_programming dbr:Object_(computer_science) dbr:Class_(computer_programming) dbr:Array_(data_structure) dbc:Object_(computer_science) dbr:Smalltalk dbr:Common_Lisp_Object_System dbr:Composite_data_type dbr:Composite_pattern dbr:Composition_over_inheritance dbr:Computer_science dbr:Function_composition_(computer_science) dbr:Pascal_programming_language dbr:C++ dbr:COBOL dbr:C_(programming_language) dbr:Tree_(data_structure) dbr:Tuple dbr:Data_structure dbr:Has-a dbr:Law_of_Demeter dbr:Linked_list dbr:Liskov_substitution_principle dbr:ALGOL_68 dbr:Algol_60 dbr:Data_type dbr:Graph_(abstract_data_type) dbr:Delegation_(programming) dbr:Unified_Modeling_Language dbr:Object_composition dbr:Prototype-based_programming dbr:Storage_record dbr:Hash_tables dbr:Is-a dbr:JavaScript dbr:Java_(programming_language) dbc:Unified_Modeling_Language dbc:Articles_with_example_Python_(programming_language)_code dbr:Chemistry dbr:Directed_acyclic_graph dbr:Associative_array dbr:Cladogram dbr:Field_(computer_science) dbr:Encapsulation_(object-oriented_programming) dbr:FORTRAN_IV dbr:Object-oriented dbr:Ontology dbr:Sequence dbr:Set_(abstract_data_type) dbr:IUnknown dbr:Object_lifetime dbr:Programming_language dbr:Linked_lists dbr:Subtyping dbr:Strong_and_weak_typing dbr:Struct_(C_programming_language) dbr:Virtual_inheritance dbr:Tagged_union dbr:Role dbr:Class_(computer_science) dbr:Implementation_inheritance dbr:Recursive_type dbr:Inheritance_semantics dbr:Interface_(computer_science) dbr:Composite_type dbr:Composition_(object-oriented_programming) dbr:Semantic_relationship dbr:File:Aggregation-Composition3.png dbr:File:Simple_COM_aggregation_diagram.svg dbr:File:UML_association,_aggregation_and_composition_examples_for_a_bicycle.png dbr:File:UML_properties_of_a_bicycle.png dbr:NewTypeT()_for_i_in_range(max_ _1)]_for_j_in_range(10)] |
dbp:wikiPageUsesTemplate | dbt:Citation_needed dbt:Confused dbt:Main dbt:Mono dbt:Reflist dbt:Short_description dbt:Use_American_English dbt:Use_mdy_dates dbt:Example_farm |
dct:subject | dbc:Object_(computer_science) dbc:Unified_Modeling_Language dbc:Articles_with_example_Python_(programming_language)_code |
gold:hypernym | dbr:Way |
rdf:type | owl:Thing |
rdfs:comment | Objektová kompozice (anglicky object composition) je v informatice způsob, jak v objektově orientovaném programování kombinovat jednoduché (základní) objekty nebo typy dat do složitějších. Objektová kompozice (tj. složení, skladba) je důležitý nástroj pro vytváření pokročilých datových struktur, jako je například spojový seznam nebo binární strom. Tyto složené datové struktury jsou dále používány stejným způsobem jako základní objekty. (cs) En programmation informatique, la composition est une technique qui permet de combiner plusieurs éléments de programmation entre eux pour obtenir un élément ayant une fonctionnalité plus complexe. On distingue la composition de fonctions, la composition d'objets, et la composition dans les modèles. (fr) La composició d'objectes a les ciències de la computació és una manera de combinar objectes o tipus de dades simples per crear-ne un de més complex. Les composicions són una part important de moltes estructures de dades bàsiques (llista enllaçada, arbre binari…). S'usa principalment per implementar una relació entre dos objectes. La composició en general té una forta dependència del cicle de vida entre les instàncies de la classe contenidora i les instàncies de la classe continguda: si es destrueix el contenidor, normalment cada instància que conté es destrueix també. (ca) En ciencias de la computación, la composición de objetos es una forma de combinar objetos o tipos de datos en otros más complejos. Las composiciones se relacionan con, pero no son las mismas que, las estructuras de datos y las que son más comunes son la unión etiquetada, el conjunto, la secuencia y varias estructuras gráficas, así como el objeto utilizado en la programación orientada a objetos. (es) In computer science, object composition and object aggregation are closely related ways to combine objects or data types into more complex ones. In conversation the distinction between composition and aggregation is often ignored. Common kinds of compositions are objects used in object-oriented programming, tagged unions, sets, sequences, and various graph structures. Object compositions relate to, but are not the same as, data structures. (en) Em ciência da computação, composição de objetos (não confundir com ) é uma maneira de se combinar objetos simples ou tipos de dados em objetos mais complexos. Composições são blocos de construção críticos de muitas estruturas de dados básicas, incluindo a , lista ligada e árvore binária, bem como o objeto utilizado em programação orientada a objetos. (pt) В объектно-ориентированном программировании под агрегированием (или как его еще называли ранее - делегированием) подразумевают методику создания нового класса из уже существующих классов путём их включения. Об агрегировании также часто говорят как об «отношении принадлежности» по принципу «у машины есть корпус, колёса и двигатель». На базе агрегирования реализуется методика делегирования, когда поставленная перед внешним объектом задача перепоручается внутреннему объекту, специализирующемуся на решении задач такого рода. (ru) Композиція у програмуванні або ж Об'єктна композиція, також Агрегація та включення — це створення об'єктів існуючих класів як елементів інших класів. Про композицію також часто говорять як про «відношення приналежності» за принципом у «у машини є корпус, колеса і двигун». На відміну від наслідування, в композиції тип відносин є Has-a тобто має (машина має двигун). В наслідуванні ж тип відносин між породженим об'єктом і батьківським є Is-a зв'язком, тобто якщо об'єкт кішка породжено від тварина, то кішка є тварина (cat is a pet). (uk) |
rdfs:label | Composició d'objectes (ca) Objektová kompozice (cs) Composición de objetos (es) Composition (programmation) (fr) Object composition (en) Composição de objetos (pt) Агрегирование (программирование) (ru) Композиція (програмування) (uk) |
owl:differentFrom | dbr:Function_composition_(computer_science) |
owl:sameAs | freebase:Object composition wikidata:Object composition dbpedia-ca:Object composition dbpedia-cs:Object composition dbpedia-es:Object composition dbpedia-fr:Object composition dbpedia-pt:Object composition dbpedia-ru:Object composition dbpedia-uk:Object composition https://global.dbpedia.org/id/3brAy |
prov:wasDerivedFrom | wikipedia-en:Object_composition?oldid=1094380436&ns=0 |
foaf:depiction | wiki-commons:Special:FilePath/Aggregation-Composition3.png wiki-commons:Special:FilePath/Simple_COM_aggregation_diagram.svg wiki-commons:Special:FilePath/UML_association,_aggr...omposition_examples_for_a_bicycle.png wiki-commons:Special:FilePath/UML_properties_of_a_bicycle.png |
foaf:isPrimaryTopicOf | wikipedia-en:Object_composition |
is dbo:wikiPageDisambiguates of | dbr:Composition |
is dbo:wikiPageRedirects of | dbr:Container_Ship_(computer_science) dbr:Container_ship_(computer_science) dbr:Containership_(computer_science) dbr:Containment_(computer_programming) dbr:Containment_(computer_science) dbr:Aggregation_(object-oriented_programming) dbr:User-defined_type dbr:Object_aggregation dbr:User_defined_type dbr:Object_agregation dbr:Object_association dbr:Composition_(object-oriented_programming) dbr:Composition_in_object-oriented_programming |
is dbo:wikiPageWikiLink of | dbr:Bridge_pattern dbr:Dependency_injection dbr:Design_Patterns dbr:ERIL dbr:Index_of_object-oriented_programming_articles dbr:Comparison_of_Pascal_and_C dbr:Container_Ship_(computer_science) dbr:Container_ship_(computer_science) dbr:Containership_(computer_science) dbr:Containment_(computer_programming) dbr:Containment_(computer_science) dbr:Rust_(programming_language) dbr:Object-oriented_design dbr:Object-oriented_programming dbr:Go_(programming_language) dbr:Creational_pattern dbr:Object_diagram dbr:Arity dbr:Lua_(programming_language) dbr:Command_pattern dbr:Composability dbr:Composite_data_type dbr:Composition_over_inheritance dbr:Computation_of_cyclic_redundancy_checks dbr:Computer_file dbr:Delegation_pattern dbr:C_Sharp_(programming_language) dbr:Dispose_pattern dbr:Has-a dbr:Layer_(object-oriented_design) dbr:Dialog_Control_Language dbr:Foreign_function_interface dbr:Forwarding_(object-oriented_programming) dbr:Glossary_of_Unified_Modeling_Language_terms dbr:Object_composition dbr:Record_(computer_science) dbr:Reference_(computer_science) dbr:Resource_management_(computing) dbr:Storage_record dbr:Is-a dbr:JavaScript dbr:Aggregation dbr:Aggregation_(object-oriented_programming) dbr:Yo-yo_problem dbr:Association_(object-oriented_programming) dbr:C++_classes dbr:Software_framework dbr:Spatiotemporal_Epidemiological_Modeler dbr:Gtkmm dbr:Inheritance_(object-oriented_programming) dbr:Multiple_inheritance dbr:Real-Time_Object-Oriented_Modeling dbr:SPC_file_format dbr:Sorting dbr:Unit_Control_Block dbr:User-defined_type dbr:Extension_method dbr:Composition dbr:Object_aggregation dbr:NWScript dbr:Z++ dbr:Scalar_processor dbr:User_defined_type dbr:Object_agregation dbr:Object_association dbr:Composition_(object-oriented_programming) dbr:Composition_in_object-oriented_programming |
is owl:differentFrom of | dbr:Function_composition_(computer_science) |
is foaf:primaryTopic of | wikipedia-en:Object_composition |