Clunky syntax
Chris Cain
clcain at uncg.edu
Mon May 7 11:03:43 PDT 2012
On Monday, 7 May 2012 at 17:52:01 UTC, ixid wrote:
> Thank you, could you explain what is happening in your example?
> Bar is inheriting from Foo, what are you getting when you
> create a parent of type sub-class compared to Bar b = new Bar;
> and Foo b = new Foo; ? Foo b = new Bar won't compile if you add
> members to Bar and access them.
Hello,
Foo is the "interface" you'll have to bar.
So, a bit of a bigger example:
-=-=-=-
import std.stdio;
class Foo {
void doStuff() {}
}
class Bar : Foo {
void doStuff() {
writeln("Hi");
}
void doThings() { }
}
void main() {
Foo f = new Bar;
f.doStuff(); // prints "Hi" to the screen
f.doThings(); // doesn't compile
}
-=-=-=-
So, as you can see, if you have a Foo, you can't call "doThings"
using it. However, if your Foo is actually a Bar underneath, then
it'll use Bar's version of "doStuff".
OOP isn't terribly hard, but I suggest reading up on it some to
grasp the concepts (and especially so you can see the benefits).
Here's a link that might help you get started on some of the
fundamentals:
http://en.wikipedia.org/wiki/Object-oriented_programming#Fundamental_features_and_concepts
More information about the Digitalmars-d-learn
mailing list