RFC: DIP draft for "Compiler-defined Attribute Consistency"
Nick Treleaven
nick at geany.org
Mon Jul 26 12:07:01 UTC 2021
On Wednesday, 21 July 2021 at 20:13:16 UTC, Rune Morling wrote:
> - abstract says something about the type of a class/function
> (part of the OOP hierarchy)
> - final says that a function in a class cannot be overridden
> (part of the OOP hierarchy)
> - override says that a function in a class is being overridden
> (part of the OOP hierarchy)
None of these 3 attributes change the actual type of the class,
they only affect methods in the class or methods in a subclass.
What I'm saying is that it's simpler and easier to remember to
use @attribute syntax for attributes that only affect a
function/method, rather than that rule except attributes that are
related to OOP don't use @.
Really using `abstract class` or `final class` is just another
way of writing `class Foo {final: ...` or `class Foo {abstract:
...`. So the attributes actually apply to the methods.
More information about the Digitalmars-d
mailing list