One of the things you'll always see about C# if you're especially new to this whole world of C# programming is the fact that C# is touted as an Object Orientated language. Now most languages are these days but if you're new to this term Object Orientated, I want to spend just a little time in this two part video explaining what Object Orientated Development is. What it looks like and then in Part 2, I'm going to draw you a little animation so that you can kind of get a visual in your brain of what's going on. First of all, understand, this whole idea of Object Orientated Development is programming that's based on the concept of objects. Now an object is a Memory Resident Copy of a class. So you'll hear a lot about classes and the basic idea is, that we are going to build classes that are blueprints for objects. Now the class contains whatever functionalities that we want all of our objects to have. That single class that we create is the blueprint for multiple objects that we can use at one time in memory. And each object is said to be an instance of a class alright? Now that you're thoroughly confused with all that, let's go on. Each object that I create from the class will have it's own state or it's own set of properties. Keep in mind I have my own state, I have a certain height, a certain weight, a certain age, a certain hair color. You have your own state, that is your height, weight, hair color, eye color and these can change from time to time. Especially you know, you can get a haircut. Ladies and a few men nowadays color their hair differently, so you may see on, you know, one day, they look one way, another day they look another way. They may get new glasses, may get color contacts, so our state can change. But each one of us individually has our own state, our own set of properties that make a unique us. But yet we're all built on the same class which is human beings. Now the properties and methods of each object come from the class. The properties are those things that I was just referring to. Hair color, eye color, height, weight, something that describes that object. A method is something that object can do. Some people can play a guitar, that's a method for that particular object. So I might be able to write very well. So that might be another method. So property describes aspects of the particular object Methods or actions the object can take. Now let's kind of put this in real world. Objects really represent real world things. Good example, let's say that we're hired to create an office application for some veterinarians to operate their office. Well think about the objects involved in a veterinarian's office. He has patients, they're animals, but still they're patients. And then really in the end game here, the real patients are not necessarily the animals but the owners of the animals who are paying the bills and making the decisions, whether to go through with treatments for the animals, or maybe to take them to another vet. And then there are the doctors themselves, the veterinarians and then the other object is the owners of the patients or the owners of the animals. Then there's the actual animals themselves. Then after animals in general, we may see dogs, we may see cats and we may see snakes, anything else and some of the other weird pets that people have. Not that they're weird but, I've held a snake before and it wasn't pleasant. If you like snakes, good for you. I'm not going to have a snake for a pet anytime soon though, let me tell you. But anyway, then we also have an account. So every client here, every owner has an account where we handle their billing. And so if we were going to write an application here, we would probably build objects that take care of all the things surrounded by this. Okay. Treatments the animals get, billings to the account, patients name, address, phone numbers, emails, payments they make. Any kind of thing like that. Now here's what happens a lot of times. And there's just one example, there's a lot of different ways to do this but a lot of developers will, in the process, of what's called gathering requirements or creating a requirements document. Is where we try to determine, now wait a minute, what exactly do we want this application to do? Because if we don't spell that out on the front end, how we will ever know that we've reached the end and we've completed it? Because we never really know if we've got it doing everything that we wanted it to do. So a lot of times you'll ask the person that's hiring you, just give me a good concise brief description of what you want this application to do functionally, when it's completed and when I deliver it to you. So describe what you guys do here. Describe what you want this application to do, and you'll see something like this. Provide data maintenance for an office of 4 veterinary doctors who provide scheduled and emergency exams and treatments to household pets. These are dogs, cats, snakes, et cetera and pet owners in good financial standing are mailed a bill at the end of each month for services rendered. Now that's the good overview of what's going on in this office that we're going to write an application for. And what a lot of developers will do, is locate the nouns in this description and these become excellent candidates for classes. And notice I didn't say they would become classes, but just look at some of the nouns here. Office, doctor, pets or animals and then we have dogs, cats, snakes. So animals in general all have certain things, they have a height, weight, hair color whatever a color, that sort of thing, an age. But then dogs, cats, snakes are a little different obviously and they might require some different treatments. Then there are owners of the pets, notice right here is our owners. Then they're mailed a bill. So look for the nouns. Okay. There are some more nouns in here that we might want to deal with. But this gives us a good suggestion of what might be a class in our application and then if you locate the verbs, these are great candidates for methods. Now if you don't understand methods just yet, don't worry about it, you'll see them later on in the course. So if we locate the verbs in this little paragraph, notice scheduled, emergency, treatments, standingness in the green boxes here. Those are Actions that we may want to perform or have performed in some of our classes. For example, a good financial standing. Well how we do determine that? We're going to have to check it against something in our database to see what's going on there. Scheduling, for the scheduled portion. Our clients or our patients, the pets have to be scheduled. Some of them were emergency situations and that might be, you know, additional billing. So anyway, that's how we're going to determine a lot of this and understand there's going to be a fight. If you get 2 developers looking at one of these same paragraphs, they're going to come up with a different final design. That's okay. But this will give you an idea of how we kind of get started with Object Orientated Development, join me in Part 2 and we'll do a little animation on what comes from this.
| Course: | Microsoft C# 2010 |
| Author: | Mark Long |
| SKU: | 34306 |
| ISBN: | 978-1-61866-037-4 |
| Release Date: | 2012-03-19 |
| Duration: | 8.5 hrs / 105 lessons |
| Work Files: |
Yes |
| Captions: | No |
| Compatibility: |
Vista/XP/2000, OS X, Linux QuickTime 7, Flash 8 |