Classes and objects
Objects are just things, like a ball, submarine, or a dog are actual
objects. Object-oriented programming like C++ and Java sort all
there program in objects.
There are many advantages to program in this way:
- More natural - just like the real world, where we sort things
by what they are. Ie, in this room, there are 25 computers, 30
- Scalable - objects can extend other objects, just like
the real world. German shepherd extends dog which extends animal.
This also is a very natural relationship.
- Allows code to be more sharable. One dog defined somewhere will
be the same as a dog needed else where.
- Great for large programming projects. People can tackle different
Ways we could use objects:
- In our game, if we wanted to have multiple evil guys, we could have had an evil guy class and made several instances of it.
- In an akeroid? game where you have multiple blocks, that would
be a pain to keep draw and keep track of each block, so we could
use an object array.
A class is a definition of a object. Just like Java has built in
types like String. We can define our own type of variable or object
using classes. They are blueprints for objects.
Classes can have fields and methods. Fields store class information,
such as Dog's age, color, gender, etc. Methods perform action.
For example: my dog Luna is an example of dog. The idea of a dog
is not an actual animal, but just an idea, while Luna is a real
example of a dog.
In this case we would define a class Dog
and Luna would be an instance of dog.
Dog luna = new Dog();
luna.dump(); //this might return .3 lbs
Lets make this happen in BlueJ. Create a class Dog that will keep track of all these things and have these methods.
Lets create a class Kennel that will create instances of 2 dogs.