Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- interface IChargable
- {
- double LifeHours { get; }
- }
- class Battery : IChargable
- {
- public double LifeHours { get { return 5.62; } }
- }
- abstract class Machine
- {
- public abstract IChargable Charger { get; set; }
- public virtual int GetCurrentCharge()
- {
- //... логика за смятане на колко е зареден лаптопа до момента спрямо текущия чарджър, бил той батерия, зарядно..
- return 1;
- }
- }
- class Computer : Machine
- {
- private IChargable charger;
- public Computer(IChargable charger)
- {
- this.charger = Charger;
- }
- public override IChargable Charger { get { return this.charger; } set { this.charger = value; } }
- }
- class Main
- {
- static void Main()
- {
- IChargable battery = new Battery ();
- Machine comp = new Computer (battery);
- Console.WriteLine (comp.GetCurrentCharge ());
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment