https://medium.com/@michedayana28/principales-conceptos-de-programaci%C3%B3n-orientada-a-objetos-y-sus-aplicaciones-en-el-desarrollo-de-82690034b80b