Create Location Classes
00:00
Let’s begin with making a FarmLocation class. I’m going to do that at the top of the script.
00:08
We’ll figure out what it has later on. I know that I’m going to want to have two child classes, a farm location that I’ll call Field, and it’ll inherit from FarmLocation.
00:22
And another one called Barn that does the same.
00:30
This is my quick draft. I want a FarmLocation parent class, and then two child classes, one called Field and one called Barn.
00:38
Let’s think about FarmLocation. I had a couple of attributes that I want on here, so I’ll add them in an .__init__() method, def __init__().
00:49
Take self to create an object, and then at least I want to be able to say, how many spaces does one of these farm locations have for animals?
00:59
So that’s something that should be defined on the instance, because I could have a bigger Field and a smaller Field, or a bigger Barn and a smaller Barn.
01:07
So I’ll assign self.spaces to the value of the argument that you’ll have to pass in when creating a FarmLocation instance. Then it should have a space to hold animals, but this is not really something that we need to pass as an argument.
01:24
So this again, is going to be an instance attribute self.animals, but I don’t need to pass it in. So I’m just going to make this a list, an empty list object here, so that each instance of FarmLocation is going to have its own list that then I can somehow fill up with animal objects up to a certain amount until it hits the limit of spaces that this specific instance has.
01:52
In the Animal parent class, I kind of defined the .animal_type, started it off with None, and I modeled it as a class attribute and also talked a little bit about potential issues with that.
02:04
And just for the fun of it, I’m thinking it could be nice to have some sort of .location_type also for farm locations, but to show you like how you can do things differently in OOP, I’m going to model it a bit differently for the farm locations.
Become a Member to join the conversation.
