Which one of the following are essential features of an object-oriented programming language?
(i) Abstraction and encapsulatoin
(ii) Strictly-typedness
(iii) Type-safe property coupled with sub-type rule
(iv) Polymorphism in the presence of inheritance
(a) (i) and (ii) only
(b) (i) and (iv) only
(c) (i), (ii) and (iv) only
(d) (i), (iii) and (iv) only