Subclasses Ch. 07

Story Info
The many facets of Beatrix.
4.9k words
4.73
946
1
Share this Story

Font Size

Default Font Size

Font Spacing

Default Font Spacing

Font Face

Default Font Face

Reading Theme

Default Theme (White)
You need to Log In or Sign Up to have your customization saved in your Literotica profile.
PUBLIC BETA

Note: You can change font size, font face, and turn on dark mode by clicking the "A" icon tab in the Story Info Box.

You can temporarily switch back to a Classic Literotica® experience during our ongoing public Beta testing. Please consider leaving feedback on issues you experience or suggest improvements.

Click here

Chapter Seven

We arrive at the VU with five minutes to spare. You'd think they'd know that someone as important as Mistress was coming and prepare more food, but we make do with whatever's left on the counter.

I sit down at what is fast becoming "our" table. Or rather, I try to sit. I yelp at the sudden pain in my ass. Damned welt, I think, my arousal peeking its head out from between my legs, a groundhog from its ... mound. There's something indefinably satisfying about being unable to sit comfortably for a day or two following Mistress's ministrations. While painful, it's also intimate, secret. A stark reminder that I am hers.

"What's wrong, Sarah?" Beatrix asks innocently, a glint of self-satisfied amusement on her lips.

I scramble to think up a plausible lie for the people behind me to overhear. I sit down again, this time as slowly as I can, putting most of my weight on my right cheek. "Oh, I'm just sore," I say feigning nonchalance, "from falling on my butt while bouldering in the Arboretum. I bruised my leg, pretty badly, too. It's nothing to worry about."

"Oh, I'm sorry to hear about your fall," she replies cordially. I grin at our shared secret.

Considering my aversion to, and general incompetence at, lying, I feel pretty good about my delivery.

I hear the guy behind me snicker softly, and whisper to his friend, "Like we didn't notice the collar around her neck." She returns a muffled giggle. I flush. Ah well, I think in resignation. Next time.

"So," Bea asks, "what more can you tell me about programming that relates to..." She gestures absentmindedly, her finger circling, as if highlighting some invisible area on the table. "...our project?"

"I could explain abstraction in more detail, if you'd like. Nothing else springs to mind at the moment."

"That sounds good," she says, once again genuinely interested. I get the sense that she's interested because her girlfriend is the one talking more than because of the topic's potential to help explore her ability. I am quite alright with that. Flattered, even.

💬

We've discussed abstraction with functions, already. The larger part of abstraction, however, relates to objects and classes.

You can think of an object as a collection of fields. Each field has a name and a value. For example, a person's contact information in your phone is an object. It has fields—first name, last name, phone number, email addresses, street address, and so on—and values for each of those keys: text—what programmers call "strings"—for the names and phone number, an list of strings for the email addresses, and an address object which has its own fields, like street address, city, state, and zip code.

Most modern programming languages have a concept of a "plain old object" or-

🗨️

"Poo!" Beatrix laughs delightedly.

"For better or worse, it's actually POJO—plain old Java object. The 'Java' is silent to everyone save those pitiable Java programmers, tragically soulbound to their crappy language. What I find ridiculous is that JavaScript, an entirely separate language from Java, is what popularized POJOs, so why didn't we just change what the J stands for?" I shrug.

💬

POJOs use arbitrary strings for the fields' keys, and the values of those fields can be anything: strings; numbers; booleans, also known as bits or flags—true or false, a 1 or a 0; null, which is a value that means "does not have a value"; arrays—a fancy word for lists; other objects; and sometimes functions.

🗨️

"Why are true and false called booleans?" Bea asks when I stop to take a bite of my lunch.

"I'm not sure, actually." I grab my phone and tap out the question to an AI. Scanning the response, I summarize, "Evidently, 'true' and 'false' were invented by George Boole back in the mid-1800s. Before this, the world only knew of 'maybe' and it applied to every statement. Proofs became significantly harder after that, so I'm not sure Ol' Georgie's contribution to history was an improvement."

Bea and Sarah Prime give me simultaneous snorts: Bea's amused, Sarah's derisive.

"But for real," I say, "Boole was the one that realized we could assign 1 to true and 0 to false, something fundamental to computers' ability to function. To this day, most spell checkers will complain if you do not capitalize the B. Drives me nuts."

She smiles and I take another bite of my lukewarm pizza.

💬

While POJOs are very versatile, most of the time we actually want our fields to be predefined. When we're given an object with fields that have known names mapped to known types, we can know for certain that the fields we expect will exist. And this is why we have "classes".

Classes are not objects themselves, but the definition of an object's "shape". The objects that are produced by a class are called instances or instantiations of that class. Not only do classes know what their fields are, but they also include functions that apply to their instantiations. These functions are called class methods, and fields of a class are usually known as properties.

Because my field is filled with pedants, I feel compelled to mention that technically fields are slightly different from properties, but the terms are often used interchangeably. Also, classes predate POJOs by some forty years, as the implementation of POJOs, themselves, are defined by a class called a Map or Dictionary.

🗨️

"By the way," I say, taking another bite, "if you ever level your pedantry stat to 13—the point at which people anal-retentively insist on distinguishing between fields and properties—I will be forced to break up with you. It would be hard, but loving such a person would be harder."

Beatrix snorts. It's a sound I'm quickly coming to love. "No promises," she says. "However, if I were to achieve that level, I would break up with you, because I could not suffer such a moron that confuses fields with properties."

"Completely fair. I'm glad we agree that the relationship would be untenable."

I take a swig of my Cherry Pepsi and continue in my role as a stuffy computer science professor.

💬

Here's where abstraction comes in. Oftentimes, we'll want to extend a class for more specific purposes. The canonical example is the Shape class. Shapes—polygons at least—can be defined by a list of xy-coordinates representing the corners of that shape, so we'll add a field we'll call "points" because we're clever like that. Remind me sometime to tell you about my Programming II final.

🗨️

"Tell me about your Programming II final," Bea reminds me immediately.

I roll my eyes. "Okay, so the test asked us to write—on paper—a bunch of functions that calculated different values, and some of those functions called other functions from earlier in the test. Pretty standard stuff. However, the instructions did not specify what our functions should be named. Naturally, I named all of mine after Disney characters. I nearly laughed out loud when I had to make DonaldDuck call MickeyMouse. Miraculously, I still got an A."

She chuckles, but I can tell it's less at my story than that I found it amusing enough to share. Ah, well. Guess you had to be there. Or had to be me, really. I smile awkwardly. At least she still seems to be enjoying the conversation.

"What does 'call' mean?" she asks.

"Oh, when a function is used, we say we are calling that function. Why? No idea. Probably because 'use' and 'run' are such common words that they're ambiguous, and so we chose another one."

💬

So. Shapes. Suppose we want to draw our shape to the screen. Again, because we're clever, we name our method "draw". Now suppose we want to find the area of our shape. Well, which shape? Different shapes have different area formulas.

Enter subclasses. A subclass, or derived class, is a class that "inherits" all of the members and properties of its base class, also known as a superclass or parent class.

We computer scientists hate ambiguity, but apparently fetishize having multiple names for things. Remind me sometime to rant about the dozens of names we have for external code that's imported into a project.

🗨️

I wince at my phrasing knowing what'll come next. "Rant abo-"

"No!" I interrupt. "None of that. Remind me later." I shake my head, bemused. She laughs and gives me a goofy grin. Goofus.

💬

In order to know the formula to calculate a shape's area, we have to know what kind of shape it is. We'll make a Rectangle class which "derives from" or "extends" our Shape class. Now, a Rectangle is a Shape—it has the points field and the draw method—and it defines a new method we'll name getArea, which simply returns its length times its height. We'll create a few more subclasses of Shape: Triangle, Trapezoid, Square—which extends Rectangle, becoming a subclass of both Rectangle and Shape—and so on.

I'm simplifying a bit, but since all of those subclasses know how to calculate their areas and since the methods to do so are all named "getArea", if we're handed a Shape object but don't know exactly which subclass of Shape we're looking at, we can still call getArea on the shape and we'll receive the correct value.

🗨️

"Thus, we have achieved abstraction!" I say with a flourish.

Beatrix mimes enthusiastic applause.

"So," I conclude, "what does this have to do with ... our project? Nothing at all that I can see. At least not yet. But so long as you keep looking at me like that," I gesture to her miraculously still-interested and possibly smitten expression, "I'm going to keep talking nerdy to you."

She gives me an indelicate snort. "I like listening to smart people talk about their passions. I find it really attractive. Hot, in fact. And if you're half as passionate about me as you are about computer science, I'm a lucky girl."

"Bea, the way things are going between us, I'll be twice as passionate about you as I'll ever be about CS by sundown."

Sporting the tee-shirt and jeans of a lesbian proving that she's more punk than any bisexual, Sarah Prime pulls on a pair of noise-canceling headphones, flips both of us off, and stalks away mumbling something about making syrup from all that sap. Whatever. She's just jealous that there's no Beatrix Prime.

"So, subclasses." Bea purrs in that irresistible lilt. "Sounds like your kind of class; I'll be your instructor."

* * *

Leaving the VU, we join hands. "Let's do something fun," Beatrix says. "Something that isn't sex."

I give her a melodramatic groan to indicate that I agree with her. In just two days, Beatrix has become my person—not just my friend, not just my mistress, not even just my girlfriend; she's become my person, my home, the first home I've ever known. I need our relationship to be more than skin-on-skin--deep. I'm pretty sure that she feels the same way.

I lay out all of our options. "We could head to Boulevard"—a park on Bellingham Bay—"and stroll along the Boardwalk, or we could play Nintendo at my place." All of our options.

"I'd love to go to Boulevard with you! That sounds nice. But honestly, right now, I just want to be warm and cozy with you." Bea gives me a kiss on the cheek.

"Sounds good to me!"

We head back to her dorm room so she can put on a warmer jacket and pack a bag of clothes—I guess we're sleeping in my room tonight—so I can retrieve my things, and so Beatrix can Speak, "Be 95% natural, Sarah." Boo. "But keep your vag." Yay!

* * *

"We are each holding a mug of hot chocolate."

My left hand is immediately level and holding a travel tumbler, my right still clutching Bea's. I guess intent is more important than the words used, I think. That will probably make "programming" easier.

"With whip cream," she amends.

Sure, Bea could Speak us from her dorm room to mine, but the walk down Western's campus is nice, calming. Beautiful, really. The thoroughfare, sparsely populated for the weekend, composed of the full spectrum of weathered red brick hues; the mismatched architectural styles ranging from the one hundred thirty years of Old Main in the north of campus, evolving southward over the decades into the cutting-edge buildings just north of Fairhaven; crisp air under gray clouds masking the start of the January afternoon sunset. All together, it imbues a Western promenade with an air of romance, never more so than beside Beatrix.

The walk gives us time to chat. She tells me about her "baby"—fifteen-year-old—sister, Claire, and shares some of the fond memories she has of them back in England. They used to get ice cream cones in the dead of winter. By tradition, they'd debate whether double chocolate fudge or chocolate chip cookie dough is the better flavor. I have to side with Claire, unfortunately. Chocolate chip cookie dough is the clear winner. Mistress Beatrix threatens to "fix" my taste buds.

I tell her about the camping trips my family would take, up and down the western coast, always near a beach where we could surf.

"In the cold?" Bea says, taken aback.

"We wear wetsuits. A wetsuit, booties-"

"Boobi-", she begins to ask with puppy dog excitement.

"No, not boobies," I interrupt. "Booties, with a T."

"I don't know why you think that's better," Bea says. Phantom fingers pinch my butt. I roll my eyes, but chuckle despite myself.

"A wetsuit, booties," I repeat, "and a good pair of neoprene gloves will warm up the water with your body heat in about five minutes, and then you're set. While my family never went camping in winter, my dad took frequent trips on his days off to go surfing in the Strait of Juan de Fuca, no matter the season. He still does."

Beatrix tells me her favorite flower is the orchid. I admit to her that I wish I had a favorite flower. For the first eighteen years of my life, I avoided anything that could even be construed as feminine—excepting my love of musicals—so I never learned any of their names. "We should go to a farmer's market in May!" she says. "They'll have all kinds of flowers and you can point out the ones you like best."

Bea expects, even assumes, we'll still be a couple four months from now, I think. She's picturing us long-term, like I am. I feel warm, despite the chill air, and give her a kiss on the cheek.

"What was that for?" she asks.

"Oh, nothing. You just make me happy."

"You make me happy, too, Baby." I love the sound of "Baby" rolling off her lips. Bea giggles suddenly. "I can't believe I'm calling you 'Baby' already. Usually that takes me weeks, even months, let alone 'I love you'." I try to smile, but end up swallowing a grimace. "What is it?" she asks, pulling us to the side of the brick path. "Do you not like 'Baby'?"

"No, I love it! I just wish I had a pet name for you."

"It'll come to you, I'm sure," she says, "There's no rush. I intend to keep you for a long time to come."

"In all my past relationships, I've called her Babe or sometimes Beautiful."

"Those are nice," Bea says.

"Yeah, but I don't want to call you them," I say quietly. She looks taken aback, even hurt. "It's not that you aren't a babe, aren't beautiful—you're the most stunning creature I can imagine! It's that..." I try to put my feelings into words. "It's that you're not my past girlfriends. You're special. I want to give you something new."

She smiles, then, and gives me a tight squeeze. "You're special to me, too, Sarah. I've only had two girlfriends before, and while the second seemed to be heading somewhere permanent, it was nothing like this, nothing like us. It needed to end, but it took a long time for me to see that, and an even longer time after I ended things to accept it was for the best.

"Now I'm glad I went through that grieving process in time to meet you. What we have is more than infatuation to me. I love you, Sarah, and that's not something to take lightly."

She kisses my lips, takes my hand, and we walk the rest of the way to Fairhaven.

* * *

"Hah! Suck it, you yellow-dressed twat!"

You can learn a lot about someone by playing Super Mario Party. For instance, I have learned that Beatrix is a prolific trash-talker. I have also learned that she's spent upwards of two hundred hours playing this game with Claire and internet randos and is globally ranked online.

Her comment isn't addressed to me—I'm wearing my favorite pink sundress with black yoga pants—but to Daisy, as she knocks her out of the ring. I just happen to be playing Daisy. That Yoshi, being played by the computer, knocks her out a second later doesn't seem to matter. I shake my head and smile at her as she performs a ridiculous "victory" dance to celebrate coming in second in this four-player free-for-all, where only the winner gets the coins.

"Kiss it, kiss it," she says, waving her ass in my face while spanking herself. Then, noticing my expression, "What?"

"Nothing," I say sincerely, unable to stop smiling as she continues shaking her hips from side to side.

"Whaaaaaat? Whatwhatwhatwhatwha-"

"There are so many sides to you, Bea. Romantic, loving girlfriend; caring friend; sexy dominatrix; competitive monster, apparently; ridiculous goofball. I never know what's coming next."

"So you're saying I'm unpredictable? That's... that's concerning, Love. That should concern you," she says cautiously, panic rising both in her voice and on her face.

"I've lived with unpredictable people my whole life. With those people, I never knew how they would react to something, whether they would be safe, defensive, angry, even laugh. The slightest things—things that didn't bother them yesterday—could cause an all out meltdown today." She nods, unsure of where I'm going with this.

"You, my love, are something else entirely. I rarely know how you're going to act, but every time it's in the best way possible. When I tell you something hard or heavy, no matter what your mood was before, you shift to Caring Friend.

"At dinner last night, I was expecting Caring Friend making a good first impression. Instead you made a good impression and then became Sexy Dominatrix. And rather than being angry or scared of being embarrassed in front of my friends—what I expected I would feel in that situation—I found that I loved the experience; through you, through that public sex orgasm denial, I discovered a new part of me. And it's a part that I like.

"This morning, in the midst of Sexy Dominatrix, despite having my consent to do basically whatever makes you feel good, when you wanted me to rim you, you asked for my consent, anyway. You held the Sexy Dominatrix mask to your face, but you had shifted to Loving Girlfriend behind it.

"When we got here a half hour ago, I was expecting Romantic Girlfriend. Instead, I got Competitive Monster which I find both hilarious and endearing, then Total Goofball whom I've adored since day one, and now Caring Friend—one that cares about my needs so much, that, in spite of the fear I saw in her eyes, told me that I should be concerned that I found her unpredictable. And all of those sides—Competitive Monster, Total Goofball, Caring Friend—were wonderful, all shifting seamlessly to perfectly match the evolving situation.

"You shift from one aspect to the other, Bea, but it's always the right aspect. And somehow, you know what I want and need in the moment better than I do; it looks like it's intuitive to you, as if I'm intuitive to you. You are both fun and safe, two things the unpredictable people I grew up with were most certainly not. We had a phrase: they were predictably unpredictable. Your unpredictability is part of what makes you a joy to be with, because no matter which side of you you display, you are predictably wonderful.

12