Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
23
Task/Abstract-type/Raku/abstract-type.raku
Normal file
23
Task/Abstract-type/Raku/abstract-type.raku
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
use v6;
|
||||
|
||||
role A {
|
||||
# must be filled in by the class it is composed into
|
||||
method abstract() { ... };
|
||||
|
||||
# can be overridden in the class, but that's not mandatory
|
||||
method concrete() { say '# 42' };
|
||||
}
|
||||
|
||||
class SomeClass does A {
|
||||
method abstract() {
|
||||
say "# made concrete in class"
|
||||
}
|
||||
}
|
||||
|
||||
my $obj = SomeClass.new;
|
||||
$obj.abstract();
|
||||
$obj.concrete();
|
||||
|
||||
# output:
|
||||
# made concrete in class
|
||||
# 42
|
||||
Loading…
Add table
Add a link
Reference in a new issue