Las Clases en Programación Orienta a Objetos.
Una clase como plantilla de un objeto y ser usada para sus posteriores instancias,teniendo en cuenta el paradigma de POO, debe de contar no solamente con los atributos, o funciones; si también con propiedades como "get " y "set" para poder acceder a los mismos atributos, encapsulamiento adecuado de sus elementos (atributos, subrutinas, variables, etc...) métodos de utilidad para el objeto, constructores que agilicen creación de instancias, lo digo porque en ingeniería enseñan mucho sobre las partes que componen a las clases, es un arte en sí, que como programadores debemos tenerlas bien en claro.
