Private interface methods
Nicolai Parlog
nipa at codefx.org
Fri Aug 19 15:37:16 UTC 2016
Hi!
I was very surprised how the syntax for private interface method
turned out. (I want to apologize in advance if this has been discussed
before. I searched but didn't find anything. And I know it's a bike
shed - still...)
I was going into a long explanation of what I thought were the reasons
behind defining the syntax at it currently stands and that they were
all very understandable. Then I would explain why I think the current
design is still awkward. I soon realized that most people on the list
will have had those thought long before me.
So I cut them out and come straight to the point: The way the two
axes[1] public / private and abstract / has-impl turned out is pretty
erratic:
interface FooBar {
// public foo();
// public has-impl bar() { ... }
// private has-impl foobar() { ... }
foo();
default foo() { ... }
private foobar() { ... }
}
If private abstract methods were ever added (Does this even make
sense? Would be nice to have a private channel between interface and
implementation.) the confusion would be complete.
Now, if `default` were optional as well... :)
so long ... Nicolai
[1] https://thumbs.dreamstime.com/x/two-axes-15577060.jpg
--
PGP Key:
http://keys.gnupg.net/pks/lookup?op=vindex&search=0xCA3BAD2E9CCCD509
Web:
http://codefx.org
a blog about software development
http://do-foss.de
Free and Open Source Software for the City of Dortmund
Twitter:
https://twitter.com/nipafx
More information about the core-libs-dev
mailing list