Source: http://www.csc.kth.se/utbildning/kth/kurser/DD1339/inda14/lecture/PDF/lecture03a-abstract-classes.pdf