Apart from Abstraction, Polymorphism, Inheritance, and Encapsulation there are principles to be followed in coding these concepts are the result of decades of software engineering experience. They are the result of the collaboration and writings of a vast number of software developers and researchers, rather than the work of a…