This way all properties are accessible from outside. I wonder if this is a good idea? Are you sure that all properties of this class should be always readable and writeable from outside? Writing some explicit getter and setter methods might be more boring but maybe better in the long-run. You control what is accessible, you can easily modify single getters and setters, IDEs know the methods (auto-complete and stuff like that), they can be documented, etc.