Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //In Bicycle.cs file
- using System;
- namespace LearnInheritance
- {
- class Bicycle : Vehicle
- {
- public Bicycle(double speed) : base(speed)
- {
- Wheels = 2;
- }
- public override void SpeedUp()
- {
- Speed += 5;
- if (Speed > 15)
- {
- Speed = 15;
- }
- }
- public override void SlowDown()
- {
- Speed -= 5;
- if (Speed < 0)
- {
- Speed = 0;
- }
- }
- //Overriden string method -- use return since there is no void
- public override string Describe()
- {
- return $"This Bicycle is moving on {Wheels} wheels at {Speed} km/h, with license plate {LicensePlate}.";
- }
- }
- }
- ============================================================================================================================
- //In Vehicle.cs file
- using System;
- namespace LearnInheritance
- {
- abstract class Vehicle //label class as abstract so long as it has one abstract method
- {
- public string LicensePlate
- { get; private set; }
- public double Speed
- { get; protected set; }
- public int Wheels
- { get; protected set; }
- public Vehicle(double speed)
- {
- Speed = speed;
- LicensePlate = Tools.GenerateLicensePlate();
- }
- public virtual void SpeedUp()
- {
- Speed += 5;
- }
- public virtual void SlowDown()
- {
- Speed -= 5;
- }
- public void Honk()
- {
- Console.WriteLine("HONK!");
- }
- //abstract method -- has no defailt functionality to inherit like virtual above
- public abstract string Describe();
- }
- }
- ============================================================================================================================
- //In Program.cs file
- using System;
- namespace LearnInheritance
- {
- class Program
- {
- static void Main(string[] args)
- {
- Sedan s = new Sedan(60);
- s.SpeedUp();
- Console.WriteLine(s.Describe());
- Truck t = new Truck(45, 500);
- t.SpeedUp();
- Console.WriteLine(t.Describe());
- Bicycle b = new Bicycle(10);
- b.SpeedUp();
- Console.WriteLine(b.Describe());
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement