File:  [parser3project] / parser3 / tests / 349.html
Revision 1.1: download - view: text, annotated - select for diffs - revision graph
Tue Sep 13 16:18:59 2016 UTC (9 years, 8 months ago) by moko
Branches: MAIN
CVS tags: release_3_5_1, release_3_5_0, release_3_4_6, release_3_4_5, HEAD
test for objects prototyping added and $OBJECT-PROTOTYPE(false) is used for old tests (related to feature #1086)

@main[]

обычный объект
$o[^test::create[]]
$o.default
^o.method[]

можно сделать объект, у которого значения свойства отличается от значения в классе
$o1[^test::create[some]]
$o1.default

можно сделать объект, у которого метод отличается от обычной реализации
$o2[^test::create[special]]
^o2.method[]

как и раньше, статическое поле класса можно переопределить
before: $test:default
$test:default[all but one]
after: $test:default

и оно изменится у использующих его объектов
$o.default

но не у тех, у кого специльное значение
$o1.default

вот и сказочке конец,
а кто слушал - молодец.

@CLASS
test

@auto[]
$default[all]

@create[d]
^if($d eq 'special'){
    $method[$special]
}(def $d){
    $default[$d]
}

@method[]
common

@special[]
special

E-mail: