OOP is amazing once you understand it.
Programming is not a learning curve, its learning steps. I had to read tons of content on how to use objects before I finally understood what was going on. You'll just hit your head against the wall until one day, for no reason, you get it. You can also look up classes because they are essentially the same thing.
The value of OOP really only becomes apparent when you are working on something with thousands of lines of code. If your stuff is 500 lines or less, it doesn't matter all the much.
Short Run Down on OOP:
Lets use a human character in a game for example -
Two things to understand about OOP: an object has both methods and properties. A method is basically a function, something that your object does. Lets say in the case of a human, jump might be a method of our human object which makes him animate and move down in y. A property is more along the lines of a characteristic. Costume could be a property for our human. So now, we load the first level of our game, and we just change the costume by writing human.custom = "Ninja"; Then our object would do all the stuff it has to do to change the costume to our Ninja costume. Then the player presses space, which then calls human.jump(); So essentially, our human object is just a nice enclosed block of code that we can tell to do things like jump (change weapon, run, block, punch, etc) or change the characteristics of like costume (or hair color, jump height, movement speed, etc).
Now Syntax Wise:
A package holds our class (an instance of our class would be called an object). The function within the class that has the same name as our class is called the constructor. A constructor basically sets up our object when we make a new one. So we might say var enemy1:Human = new Human(); or we might want to pass properties to the constructor, so we might do var enemy1:Human = new Human("Ninja"); so when we create the human object, it already has our Ninja costume etc.
A class has private and public functions. You dont want things outside your class being able to edit its variables all willy nilly (this security is called Encapsulation), so most of your stuff should be private. If we create function in the class and want it to be a method of the class, it should be public.
So jump might look like this:
public function jump():void {
//jump code weeeeeeee
}
so you would call it object_name.jump();
You access properties with functions as well, but these are called getters and setters.
public function set costume(name:String):void {
ChangeCostume(name);
}
public function get costume():String {
return custom_var;
}
So I might type trace(object_name.costume) and it might print "Ninja".
Or I could set it to "Superman" by object_name.costume = "Superman".
The setters and getters override the = operand, so that when you type =, you are actually calling the set function or get function.
Hope that helps a bit. Good luck!