These are the things that make objects in computer programming languages.
Encapsulation: The object's internal properties are kept hidden from outside the object.
Abstraction: The object possesses a way to handle its internal data.
Inheritance: The process by which a specific class is created using an already existing class.
Polymorphism: the capability of one type of data to be used like it's another.
I've been studying this so I can learn C#. Right now, I'm studying virtual members, and learning about how C# uses them to specify how a specific action may be different for a child class as opposed to the parent class.
It's been a long time since I've devoted this much concentration to one subject. There's a heavy temptation to branch out on something else, but knowing this stuff will make me more valuable to the company where I work. The book I'm studying is divided into 24 chapters, and carries the convenient title "Teach yourself Visual C# 2010 in 24 Hours". This title mocks me. It takes me about three hours to go through a chapter. I'm learning a lot. There is a certain amount of beauty in the way C# is written, and also some frustration. the syntax for instantiating a new member of a class is hilarious to me. As is the requirement for non-necessary parenthesis. I don't mind the curly braces. There's a certain snap to the appearance of code that has curly braces. I've always liked seeing them.
I need a way to make what I'm learning real to me. Working on the book projects are one thing, I need a project to do something useful.
I'll need to do some thinking on that. Iterators are still a couple of chapters out.