...or
Object Oriented, and You.
OK, so I just started an OO class, and we're using C# as the language of choice. Our instructor has an incredibly thick Asian accent that he is apparently unaware of, because he talks a mile a minute with it and just rips right through with no one having a clue what he's saying.
Anyway, I'm not really having any problems with the syntax side of things, but I just need to get my head wrapped around the very simple basics. I've heard people here say that "most people don't have a clue how OO works." I'm hoping someone can help fill in the blanks.
Here's my understanding of things right now...
Class: Functions? Methods? I still don't get the difference between a function and a method, and now I have class to add to it? As near as I can tell, "class" is just another name for a function - which is another name for a method... although I can help feel I'm missing out on something here. No one in their right minds would invent three different terms for exactly the same concept.
Object: I've always thought of elements as objects (form fields, tables, etc), but now I'm getting the sense that things like classes are objects too. In the realm of OO, what exactly defines an object? Is it just anything that can be referenced in code?
Public/Private/Static/Void: Logic tells me that public and private mean the same thing they've always meant. Public is public to the application, and private is private to the... class? Static is... actually, I have no clue what static means. I know the main bit of code that runs automatically is static, but I don't know why. Void... As near as I can tell, void is just the absence of type?
Anyway, I know it's kind of a lot to ask... and I do have a text book, but I'm just having a hard time getting my head around these things. One minute, I think I have it figured out, the next minute the instructor uses something somewhere that makes me questions things all over again. I don't know why the light bulb isn't going off here. I'm usually pretty quick at picking these things up. The weird thing is that I can always get my code working, but I can't explain any of it for the life of me.
Edit: Whoops. I just realized that some of the things I've mentioned are C# specific and aren't necessarily related to OO at all...