Object-Oriented Parenting
When I teach programming, my specialty has been OOP Fundamentals, and I’m excited to share how we can take these same concepts and apply them to parenting.
Encapsulation
Allows us to bundling data (properties) and actions (methods) that work on that data within one unit. This concept is used to hide the internal representation, or state, of an object from the outside.
In terms of your child: You cannot change your child’s state (private properties) directly, but you can use actions (methods) that interact with their state.
For example, you can feed your child. But you can’t directly change how hungry that child is. Our private properties would be things such as hunger, energy level, mood, and skills.
child { private hunger private energy private mood skills skills }
You can, however, influence their state through actions (methods).
Take sleep.
Sleep most directly affects our energy level and our moods.
sleep() {
energy++
mood++
}
One of my daughters processing things at night. This causes her to have a lot of trouble sleeping, or staying asleep. Night terrors were a regular occurrence. She would wake up screaming and I would have to give her something to eat or drink to wake her up enough that she wouldn’t just be screaming again 5 minutes later. Right after she turned 4, I wanted to help her work through her night terrors, for both our sanities. I started helping her plan what she was going to dream about. Her dreams included a magic wand so that she could change anything she wanted during the dream. I was shocked by how quickly a four-year-old was able to learn how to direct her dreams. It turns out, kids are better at this than adults.
With everything going on recently, she’s had more difficulty falling asleep again so something that else that has helped her now are the Moshi sleep stories (my link will give you a free month). Again, these sleep stories prep her with good dreams and help her relax and fall asleep.
Maybe even more important than our children’s sleep is personal sleep. Believe me, with three under three, sleep was something I took very seriously. I did a lot of research to get the most out of my limited sleep windows.
Top 2 Tips
- 90-minute sleep cycles. If you’ve ever gotten more sleep but woke up more tired, you probably got interrupted in the middle of one of your sleep cycles. Although everyone is different, 90 minutes is the average time for a sleep cycle. It’s better to get a little less sleep if you don’t have time for a full cycle. When calculating your sleep time, you may want to add 15-30 minutes for falling asleep.
- Power Naps. If you aren’t able to get enough sleep at night, naps can be a great way to supplement. 20 minutes is an optimal time for getting the most cognitive boost out of your nap. Since caffeine takes about 20 minutes to kick in, if you drink your coffee right before your nap you can get the benefits of both.
Food
Food affects more than just their hunger level, it also affects their mood and their energy.
My son is extremely sensitive to the lack of food. He gets hangry! If he’s having a meltdown it’s probably because he has not eaten in a while and he just needs a snack. Kids need to eat more often, so make sure you have snacks available for your kids to eat. You may even want to add snack time to your schedule.
Movement
move() {
energy++
mood++
}
Another thing that can positively affect their state is movement. Exercise, changing position, changing location (inside vs outside), flipping them upside down, all of these can be helpful. You can see a big difference in my son’s behavior if he hasn’t played outside. It negatively affects his mood and his ability to listen and pay attention. When my daughter get’s stuck being upset or frustrated, hanging upside down or having a quick dance party can quickly improve the situation.
Education
Education is important for building skills, but skills aquisition is greatly affected by the other states that we’ve explored.
educate() {
skill += energy x mood
}
We can provide education, but again, we cannot force them to learn a skill. This brings us to play.
Play
Especially for young children, play not only provides movement it also helps them build skills. They learn best through play. Play allows them to take the training we give them and translate it into skills.
play() { move() educate() }
Although you can’t affect their state directly, you do have more control than you might think.
Abstraction
A concept or idea which is not associated with any particular instance.
We don’t need to know how something works, just how we interact with it. If we try to call a method without the required parameters, it fails. If we leave the default values of parameters, the results we get may not be as good as they could be. So it’s important to know HOW to interact, but meeting your child’s needs.
Attention
Like all people, children need connection. Building in those one-on-one times will provide the foundation for more independent time. When their need for connection is filled, the are more able to perform tasks independently without requiring your constant attention or supervision.
OneOnOne(activity, time) { return connection }
These one-on-one times don’t have to take a long time, even 10 minutes, once or twice a day can make a huge difference. The key to these times of connection is giving them your full attention, and doing something that your child wants to do. Amy McCready calls this mind body and soul time and she provides a lot of suggestions on making it work for you.
Love
Another important human need is love. Children need lots of love. Encouragement, hugs, and help with homework can help them feel secure in your love.
Love(expression) { return confidence }
I would highly recommend you check out the book. The idea is that there are five love languages: words of affirmation, acts of service, receiving gifts, quality time, and physical touch. If your love language is acts of service, while their love language is gifts, you may be spending all this effort doing things for your child (or for a spouse or friend), but those acts of service may not be as meaningful as remembering “hey you liked this type of chocolate and I picked it up at the store”. Now remember none of these are better or worse than others but certain things may be more effective at showing love to different people.
Abstraction is in play when we focus on understanding how to best interact with the people in our lives. It’s also important to communicate your own needs so other people can most effectively interact with you.
Inheritance
You might think that I’m gonna talk about inheritance as the parent-child relationship between objects, and in a way I am. But how do we pass down those behaviors or lessons that we want to share with our children? The best way to do this is through modeling. Be the adult you want your child to become. You can’t tell them they can be whatever they want, but then put limits on yourself. Let’s ditch the parenting guilt right now. Children don’t need our undivided attention 24/7, what they do need is to see us setting healthy boundaries. Show them that they can have a life outside of kids, but that they can also make their family a priority. Practice work-life integration.
career() { // work-life integration }
While talking about boundaries and priorities, this is a good time to also address modeling healthy relationships.
relationships() {
// interactions with others in your house
// reaching out to friends
}
Another important skill to model is emotional intelligence.
emotions() { // what's going on in your head // how do you handling big emotions }
If you want your kids to have a healthy relationship with food, the best thing you can do is model that relationship yourself. Instead of telling them what is important, demonstrate your willingness to set limits and try new things.
food() { // healthy relationship with food // willingness to try new things // gratitude }
One of the most common questions I get asked is about handling screen time for kids. While this is a worthy concern, instead of focusing on the right amount of time, or the right apps, we should be focused on modeling the appropriate relationship with electronics.
electronics() {
// using appropriately
// setting limits
// responsible online interactions
}
Polymorphism
Polymorphism means “many shapes” in Greek. This is typically achieved by defining an interface to be reused. It outlines a bunch of common methods, then each class implements its own version of these methods.
Families come in many shapes and will have their unique implementation, but there are also commonalities with all of us so you don’t need to figure it all out on your own. Hopefully, this has provided you with a common interface that you can apply to your parenting.