protected Implementor imp;
public Implementor Implementor {
public virtual void calculation() {
abstract class Implementor {
public abstract void calculation();
class Refinedabstraction : Abstraction {
public override void calculation() {
class acclass : Implementor {
public override void calculation() {
Console.WriteLine("FARE IS RS600 PER PERSON ");
class nonacclass : Implementor {
public override void calculation() {
Console.WriteLine("FARE IS RS300 PER PERSON ");
public static void Main() {
Abstraction ab = new Refinedabstraction();
ab.Implementor = new acclass();
ab.Implementor = new nonacclass();