Это зависит, существуют классы, которые предназначаются, чтобы быть просто инстанцированными (наследование, если существует, используется только для упрощения реализации), другие классы предназначаются, чтобы быть наследованными для обеспечения определенной реализации.
Запечатанные классы имеют некоторые преимущества:
Иначе, если Вы хотите украсить запечатанный класс методами "комфорта", используют дополнительные методы (C# 3.0).
«Толкин написал Властелина колец» можно выразить как простое утверждение (субъект, предикат, объект) следующим образом:
:Tolkien :wrote :LordOfTheRings .
Между прочим, здесь используется Turtle нотация для RDF. В сети есть инструменты для преобразования его в RDF / XML.
Используя reification , вы можете иметь отдельный ресурс, представляющий оператор, чтобы вы могли указать дополнительные сведения о самом утверждении, например, "Википедия сказала, что":
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
_:x rdf:type rdf:Statement .
_:x rdf:subject :Tolkien .
_:x rdf:predicate :wrote .
_:x rdf:object :LordOfTheRings .
_:x :said :Wikipedia .
В реальной жизни вы хотели бы использовать общие словари, чтобы кто-либо или что-либо, использующее RDF, знал, что вы говорите о , что Толкиен и что LOTR:
http://dbpedia.org/resource/The_Lord_of_the_Rings
http://dbpedia.org/property/author
http://dbpedia.org/resource/dbppedia/J ._Р. _R._Tolkien