|
Listing 12-14 extracted from chapter
Inheritance, polymorphism and abstraction
Listing 12-13< > Listing 12-15
This listing can be compiled with the command line: csc.exe /target:library Example_12_14.cs Errors: 0 Warnings: 0
Example_12_14.cs
abstract class FooBase {
protected int valA = 0;
public virtual int Prop1 {
get { return valA; }
set { valA = value; }
}
public virtual int Prop2 {
get { return 43; }
}
public abstract int Prop3 {
get;
set;
}
}
class FooDerived : FooBase {
private int valB = 0;
public override int Prop1 {
get { return base.Prop1 * 2; }
set { base.Prop1 = value * 2; }
}
public override sealed int Prop2 {
get { return valA > valB ? valA : valB; }
}
public override int Prop3 {
get { return valA + valB; }
set { valA = value - valB; }
}
}
Copyright Patrick Smacchia 2006 2007
|