 For the past few modules we've been talking about different control Structures and the entire idea again was that these structures allow us to sort of make unique Decisions about where we go in memory. So something like a function was telling us Oh, we need a small program that sits in memory somewhere that we occasionally call upon Then we talked about the idea of maybe I need branching paths where I only want something to happen Occasionally given some criteria and we call those conditionals and then finally we had something called loops because I Don't want to type a lot. I want to make it do it as I Need something to loop and do a bunch of things a bunch of times But we're gonna shift gears and then move back into Something called data types and the entire idea is if you think about it, we've been dealing with data types the entire time it's floats Boojins strings each one of those are data types, but one of the most powerful types of data are Objects and really now what we're doing is we're going to take these control structures and See what we can do inside of programming with different types of data types So objects, what are they the biggest thing again? $15 words all around but the biggest idea to an object Think of them like a noun if for example you you are a student, right? And I'm now going to objectify you No, what I mean by that is well, you know as a student You're going to have some associated values to you. So you have something like a first name you Maybe have a last name most of you I'm going to assume are going to have a last name You're not one of the people who just have a single name You're gonna have an address associated to you you probably have a date of birth Associated to you all of those could be considered values that you in fact store to yourself But they are unique to yourself. There is someone who may have may have the same first name But they are not you they even may have the same first and last name And date of birth, but you know, hopefully they don't also live with you that just be super weird But again, they are not you right well That's where we start to think about something like an object's identity and for our sake It's realistically just The variable name so you as a student I'm going to call you s1 You've been objectified and reduced down to two characters as the way I'm going to refer to you for the rest of this Video so s1 you again, you have first name. You have a last name. You have these things that we like to call States the entire idea to a state is just this big fancy generic term for the properties of you so again you have Some first name and again it didn't have to be You know first space name because I can have variables named however. I like them So I typically like to name it something like F name and it could be Something like I don't know a string. I Don't know why I put an E there, but assume the ease gone. It's not add them a But I could also have an L name for my last name And I'm not putting my address on here But you could assume that there are different things that I could add to this so maybe instead just to keep it simple We could give it a Variable age that tells you an integer number so in this case. I'm 36 But that's the same with all types of objects So if I was dealing with something like a circle, this is a circle or close enough to one And that circle is gonna have an R attached to it. Well, this is also close enough to a circle Let's see that's C2 that is C1 again C1 has an R C2 Being a circle would also have its own r associated to it and so again This is a property to the individual objects That's where we start to get into the behaviors or methods or functions again interchangeable words here But the entire idea is if we're thinking about these two different circles, you know C1 Has it's R and then C2 Much bigger, but still gonna have its R again. Those are just the states of it But I could create or have access to different functions that are associated to C1 and C2 like get radius change the radius so in this case set radius to 7 or I could use these the state of R the value of R to create my own functions as well so something like get area and Then you know that would be pi R squared and since I know what R is I know what pi is and I know what squared is I could merge those three elements together and I could get a different value of Get area for C1 and then a different value for C2 same kind of thing since we're dealing with students Maybe not every student at NC State is registered for CSE 111 Well, guess what we could have a function associated to every student called register course And then we would just pass in a parameter like CSE 111 and now they are registered for this course So how do we register a student for a course? That is where we get into something known as the dot operator a period the entire idea is you effectively use your variable name or Identity to be fancy again with it Dot and then whatever Method you want to have associated to this and so in this case, you know I have a get ID and well if we're just thinking about this as you have an ID. It's associated. It's a technically a State Again, that would be you know interactions But if we did something like the C1 dot get Area and for our sake, let's just say that This C1 it's R was 10 because that's easy math for me So what is that that would produce out 3.14 dot dot dot times 100 so roughly speaking an Area of 314 again, this is being referenced very specifically Or being accessed rather by something called the dot operator