This HTML5 document contains 76 embedded RDF statements represented using HTML+Microdata notation.

The embedded RDF content will be recognized by any processor of HTML5 Microdata.

Namespace Prefixes

PrefixIRI
dctermshttp://purl.org/dc/terms/
dbohttp://dbpedia.org/ontology/
n16http://dbpedia.org/resource/File:
foafhttp://xmlns.com/foaf/0.1/
n10https://global.dbpedia.org/id/
dbpedia-ruhttp://ru.dbpedia.org/resource/
n21http://dbpedia.org/resource/PGF/
dbthttp://dbpedia.org/resource/Template:
rdfshttp://www.w3.org/2000/01/rdf-schema#
freebasehttp://rdf.freebase.com/ns/
n14http://commons.wikimedia.org/wiki/Special:FilePath/
rdfhttp://www.w3.org/1999/02/22-rdf-syntax-ns#
dbpedia-arhttp://ar.dbpedia.org/resource/
owlhttp://www.w3.org/2002/07/owl#
dbpedia-vihttp://vi.dbpedia.org/resource/
dbpedia-frhttp://fr.dbpedia.org/resource/
wikipedia-enhttp://en.wikipedia.org/wiki/
dbpedia-zhhttp://zh.dbpedia.org/resource/
dbphttp://dbpedia.org/property/
dbchttp://dbpedia.org/resource/Category:
provhttp://www.w3.org/ns/prov#
xsdhhttp://www.w3.org/2001/XMLSchema#
wikidatahttp://www.wikidata.org/entity/
goldhttp://purl.org/linguistics/gold/
dbrhttp://dbpedia.org/resource/

Statements

Subject Item
dbr:List_of_algorithms
dbo:wikiPageWikiLink
dbr:C3_linearization
Subject Item
dbr:C3_Algorithm
dbo:wikiPageWikiLink
dbr:C3_linearization
dbo:wikiPageRedirects
dbr:C3_linearization
Subject Item
dbr:C3_method_resolution
dbo:wikiPageWikiLink
dbr:C3_linearization
dbo:wikiPageRedirects
dbr:C3_linearization
Subject Item
dbr:C3_superclass_linearisation
dbo:wikiPageWikiLink
dbr:C3_linearization
dbo:wikiPageRedirects
dbr:C3_linearization
Subject Item
dbr:C3_superclass_linearization
dbo:wikiPageWikiLink
dbr:C3_linearization
dbo:wikiPageRedirects
dbr:C3_linearization
Subject Item
dbr:C3
dbo:wikiPageWikiLink
dbr:C3_linearization
Subject Item
dbr:Constructor_(object-oriented_programming)
dbo:wikiPageWikiLink
dbr:C3_linearization
Subject Item
dbr:Dominance_(C++)
dbo:wikiPageWikiLink
dbr:C3_linearization
Subject Item
dbr:C3_linearization
rdf:type
dbo:Software
rdfs:label
سي 3 الخطية (خوارزمية) C3-линеаризация C3线性化 C3 linearization Linéarisation C3
rdfs:comment
La linéarisation de la superclasse C3 est un algorithme utilisé principalement pour obtenir l'ordre dans lequel les méthodes doivent être héritées en présence d'un héritage multiple. En d'autres termes, la sortie de la linéarisation de la superclasse C3 est un ordre de résolution de méthode (MRO) déterministe. « Dans les systèmes orientés objet avec héritage multiple, un mécanisme doit être utilisé pour résoudre les conflits lors de l'héritage de différentes définitions de la même propriété à partir de plusieurs superclasses. » C3-линеаризация суперкласса (англ. C3 superclass linearization) — алгоритм, используемый преимущественно для получения устойчивой линеаризации иерархии множественного наследования в объектно-ориентированном программировании. Данная линеаризация используется для определения порядка, в котором должны наследоваться методы, что часто в англоязычной литературе обозначается как «MRO» (сокращение от «Method Resolution Order», то есть «порядок разрешения метода»). C3 в названии указывает на три главные особенности итоговой линеаризации: устойчивый и расширяющийся (по старшинству) граф, сохранение локального порядка старшинства, а также монотонность. Данная теория впервые была представлена в 1996 году в рамках конференции , в документе, озаглавленном «Монотонная линеаризация суперкласса для языка D في الحوسبة، (بالإنجليزية: C3 linearization)‏ خطية الطبقة الفائقة C3 هي خوارزمية تُستخدم في المقام الأول للحصول على الترتيب الذي يجب أن تتوارث فيه الطرق في وجود وراثة متعددة. بعبارة أخرى، ناتج خطي الطبقة الفائقة C3 هو أمر قرار حتمي للطريقة (MRO). ينتج عن خطي الطبقة الفائقة C3 ثلاث خصائص مهمة: * رسم بياني متسق للأسبقية الموسعة، * الحفاظ على ترتيب الأسبقية المحلي، و * تلائم معيار الرتابة. يلخص جويدو فان روسوم بايثون خطية الطبقة الفائقة C3 بالتالي: "In object-oriented systems with multiple inheritance,some mechanism must be used for resolving conflicts when inheriting different definitions of the same propertyfrom multiple superclasses." C3 superclass linearization is an algorithm used primarily to obtain the order in which methods should be inherited in the presence of multiple inheritance. In other words, the output of C3 superclass linearization is a deterministic Method Resolution Order (MRO). C3 superclass linearization is called C3 because it "is consistent with three properties": 在计算机科学中,C3算法主要用在多重继承中,确定子类应该继承哪一个父类的方法。换句话说,C3超类线性化的输出是确定性的方法解析次序(MRO:Method Resolution Order)。
foaf:depiction
n14:C3_linearization_example.svg
dcterms:subject
dbc:Object-oriented_programming dbc:Articles_with_example_Python_(programming_language)_code dbc:Programming_language_implementation
dbo:wikiPageID
8305253
dbo:wikiPageRevisionID
1120457699
dbo:wikiPageWikiLink
dbc:Object-oriented_programming dbr:Raku_(programming_language) dbr:Parrot_virtual_machine dbr:Reentrancy_(computing) dbr:Precedence_graph dbr:Algorithm dbr:Method_(computing) dbr:Object-oriented n16:C3_linearization_example.svg dbc:Articles_with_example_Python_(programming_language)_code dbr:Dylan_(programming_language) dbc:Programming_language_implementation dbr:Divide-and-conquer_algorithm dbr:OOPSLA n21:TikZ dbr:Python_(programming_language) dbr:Topological_sorting dbr:Memoization dbr:CPAN dbr:Perl dbr:Guido_van_Rossum dbr:Solidity dbr:Multiple_inheritance
owl:sameAs
n10:3jXbJ dbpedia-zh:C3线性化 wikidata:Q4035554 dbpedia-vi:Tuyến_tính_hóa_siêu_lớp_C3 dbpedia-fr:Linéarisation_C3 dbpedia-ru:C3-линеаризация dbpedia-ar:سي_3_الخطية_(خوارزمية) freebase:m.026zrzp
dbp:wikiPageUsesTemplate
dbt:Sxhl dbt:Confusing dbt:Quote
dbo:thumbnail
n14:C3_linearization_example.svg?width=300
dbo:abstract
"In object-oriented systems with multiple inheritance,some mechanism must be used for resolving conflicts when inheriting different definitions of the same propertyfrom multiple superclasses." C3 superclass linearization is an algorithm used primarily to obtain the order in which methods should be inherited in the presence of multiple inheritance. In other words, the output of C3 superclass linearization is a deterministic Method Resolution Order (MRO). C3 superclass linearization is called C3 because it "is consistent with three properties": * a consistent extended precedence graph, * preservation of local precedence order, and * fitting a monotonicity criterion. It was first published at the 1996 OOPSLA conference, in a paper entitled "A Monotonic Superclass Linearization for Dylan". It was adapted to the Open Dylan implementation in January 2012 following an enhancement proposal. It has been chosen as the default algorithm for method resolution in Python 2.3 (and newer), Raku, Parrot, Solidity, and PGF/TikZ's Object-Oriented Programming module. It is also available as an alternative, non-default MRO in the core of Perl 5 starting with version 5.10.0. An extension implementation for earlier versions of Perl 5 named Class::C3 exists on CPAN. Python's Guido van Rossum summarizes C3 superclass linearization thus: Basically, the idea behind C3 is that if you write down all of the ordering rules imposed by inheritance relationships in a complex class hierarchy, the algorithm will determine a monotonic ordering of the classes that satisfies all of them. If such an ordering can not be determined, the algorithm will fail. في الحوسبة، (بالإنجليزية: C3 linearization)‏ خطية الطبقة الفائقة C3 هي خوارزمية تُستخدم في المقام الأول للحصول على الترتيب الذي يجب أن تتوارث فيه الطرق في وجود وراثة متعددة. بعبارة أخرى، ناتج خطي الطبقة الفائقة C3 هو أمر قرار حتمي للطريقة (MRO). ينتج عن خطي الطبقة الفائقة C3 ثلاث خصائص مهمة: * رسم بياني متسق للأسبقية الموسعة، * الحفاظ على ترتيب الأسبقية المحلي، و * تلائم معيار الرتابة. تم نشره لأول مرة في مؤتمر OOPSLA لعام 1996 ، في ورقة بعنوان «خطية أحادية الطبقة فائقة المستوى لديلان». تم تكييفه مع تطبيق Open Dylan في يناير 2012 بعد اقتراح تحسين. تم اختيارها كخوارزمية افتراضية لتحليل الأسلوب في بايثون 2.3 (وأحدث) ، Raku ، Parrot ، ، Solidity ، وPGF / TikZ للبرمجة الموجهة للكائنات. يتوفر أيضًا كبديل غير افتراضي MRO في جوهر بيرل 5 بدءًا من الإصدار 5.10.0. يوجد تطبيق ملحق للإصدارات السابقة من بيرل 5 باسم Class::C3 على CPAN . يلخص جويدو فان روسوم بايثون خطية الطبقة الفائقة C3 بالتالي: «Basically, the idea behind C3 is that if you write down all of the ordering rules imposed by inheritance relationships in a complex class hierarchy, the algorithm will determine a monotonic ordering of the classes that satisfies all of them. If such an ordering can not be determined, the algorithm will fail.» La linéarisation de la superclasse C3 est un algorithme utilisé principalement pour obtenir l'ordre dans lequel les méthodes doivent être héritées en présence d'un héritage multiple. En d'autres termes, la sortie de la linéarisation de la superclasse C3 est un ordre de résolution de méthode (MRO) déterministe. « Dans les systèmes orientés objet avec héritage multiple, un mécanisme doit être utilisé pour résoudre les conflits lors de l'héritage de différentes définitions de la même propriété à partir de plusieurs superclasses. » La linéarisation de la superclasse C3 est appelée C3 car elle « est cohérente avec trois propriétés » : * un precedence graph étendue cohérent, * la préservation de l'ordre de préséance local, et * appliquant un critère de monotonie. Il a été publié pour la première fois lors de la conférence OOPSLA de 1996, dans un article intitulé A Monotonic Superclass Linearization for Dylan. Il a été adapté à l'implémentation d'Open Dylan en janvier 2012 à la suite d'une proposition d'amélioration. Il a été choisi comme algorithme par défaut pour la résolution de méthode dans Python 2.3 (et versions ultérieures), Raku, Parrot, Solidity et le module de programmation orientée objet de PGF/TikZ . Il est également disponible en tant que MRO alternatif, non par défaut, dans le cœur de Perl 5 à partir de la version 5.10.0. Une implémentation d'extension pour les versions antérieures de Perl 5 nommée Class::C3 existe sur CPAN . Guido van Rossum de Python résume ainsi la linéarisation de la superclasse C3 : « Fondamentalement, l'idée derrière C3 est que si vous écrivez toutes les règles d'ordonnancement imposées par les relations d'héritage dans une hiérarchie de classes complexe, l'algorithme déterminera un ordonnancement monotone des classes qui les satisfait toutes. Si un tel ordre ne peut être déterminé, l'algorithme échouera. » C3-линеаризация суперкласса (англ. C3 superclass linearization) — алгоритм, используемый преимущественно для получения устойчивой линеаризации иерархии множественного наследования в объектно-ориентированном программировании. Данная линеаризация используется для определения порядка, в котором должны наследоваться методы, что часто в англоязычной литературе обозначается как «MRO» (сокращение от «Method Resolution Order», то есть «порядок разрешения метода»). C3 в названии указывает на три главные особенности итоговой линеаризации: устойчивый и расширяющийся (по старшинству) граф, сохранение локального порядка старшинства, а также монотонность. Данная теория впервые была представлена в 1996 году в рамках конференции , в документе, озаглавленном «Монотонная линеаризация суперкласса для языка Dylan». Впоследствии данный алгоритм был выбран как алгоритм по умолчанию для разрешения методов в языке программирования Python 2.3 (и последующих версиях), Perl 6 и виртуальной машине Parrot. Он также доступен в виде альтернативы (не являясь MRO по умолчанию) в ядре Perl 5, начиная с версии 5.10.0. Расширенная реализация для более ранних версий Perl 5 носит название Class::C3 и существует в CPAN. 在计算机科学中,C3算法主要用在多重继承中,确定子类应该继承哪一个父类的方法。换句话说,C3超类线性化的输出是确定性的方法解析次序(MRO:Method Resolution Order)。
gold:hypernym
dbr:Algorithm
prov:wasDerivedFrom
wikipedia-en:C3_linearization?oldid=1120457699&ns=0
dbo:wikiPageLength
11049
foaf:isPrimaryTopicOf
wikipedia-en:C3_linearization
Subject Item
dbr:Solidity
dbo:wikiPageWikiLink
dbr:C3_linearization
Subject Item
dbr:Multiple_inheritance
dbo:wikiPageWikiLink
dbr:C3_linearization
Subject Item
wikipedia-en:C3_linearization
foaf:primaryTopic
dbr:C3_linearization