difference between real world object and software object (3 points)
Answers
Honestly, unless stretching the point, they really have nothing to do with each other.
A software object should be a concise logical description that is no more complicated than it needs to be, and represents a logical behavior.
For example, a number can be an object - let’s say, an integer. It has methods, which are algorithms such as add (how you add two numbers), or how you convert to something we can read. That’s all it has. This doesn’t have a real world counterpart. What does ten look like? Ten apples may be very different from ten wolves.
In the real world, an object is something you can grab onto with obvious physical properties.
One might argue that software objects represent real world objects, but only in very specific ways. A person object, for a Customer Resource Management (CRM) system would have name, address, products interested in - for example. It wouldn’t go so far as to have how many degrees your elbow can bend. These are unneeded to see if we need to ship you a new tennis shoe.
On the other hand, if I’m programming in Unity, they have a software object called GameObject. If it is a representation of a human, it would have information on your elbow bending - but wouldn’t have information about address, past tennis shoes you’ve ordered, and if you are a member of our VIP club, especially if it’s a tank game.
All software is about solving problems. The objects in that system are there to help that, and break down the problem into modular units that are easy to conceptualize for us humans. If there is code in the system that isn’t solving the problem it’s designed for, that’s bloat and unnecessary.