using System.Collections.Generic;
public static void Main()
Console.WriteLine("Hello World");
List<Component> Hardware = new List<Component>();
Hardware.Add(new RAM("Kingston", "DDR4-3200", "8G"));
Hardware.Add(new CPU("Intel", "4500 MHz", "8"));
foreach(var hw in Hardware)
Console.WriteLine(hw.GetInfo());
public abstract class Component
public Component(string name)
public string Name {get { return _name; } }
public abstract string GetInfo();
public class RAM : Component
public RAM(string name, string freq, string volume) : base(name)
public override string GetInfo()
return string.Format("I'm a {0} RAM. Volume: {1}. Frequency: {2}", _name, _volume, _freq);
public class CPU : Component
public CPU(string name, string freq, string cores) : base(name)
public override string GetInfo()
return string.Format("I'm a {0} CPU. Cores: {1}. Frequency: {2}", _name, _cores, _freq);