در برنامه program یک متغیر به نام payment داریم از نوع کلاس payment و internal
Payment payment; if (bankName == "saman") { payment = samanPaymentFactory.CreatePayment(amount);
در کلاس NationalbankPaymentFactory باز هم یک متغیر از نوع پابلیک داریم از نوع کلاس NationalBankPayment
var payment = new NationalBankPayment(); payment.Amount = ammount; return payment;
همچنین در کلاسfactory SamanBankPayment هم دوباره یک متغیر پابلیک از نوع کلاس داریم
var payment = new SamanBankPayment (); payment.Amount = ammount; return payment;
همچنین یک کلاس هم به نام payment از نوع پابلیک داریم
public abstract class Payment { public decimal Amount { get; set; } public abstract string bank { get; } }