I am creating a lot of classes for the games I make, and in all the reference books I read, variables should be defined as private. But these books were all for systems programming, and none considered speed an issue. So whenever I need to get a variable, I have to call a function to retrieve it or alter it. Is this a preferable method when using Object-Oriented programming, or should I make all my variables public for speed reasons?
One of the main objectives of OOP programming techniques is to protect the data''s integrity. By making your variables private and accessing them via accessor functions you can prevent miss-uses of the data. Yes there is a speed loss, but with todays processors it''s not very noticable.