R1D17 Nose Dive into OOP in C#

| programming | dotnet |

I worked through module two of the Object Oriented Progrmaming in C# course on edX.

One thing that is a bit confusing (and I am sure will come back to bite me in the ass later on) is how new classes are magically usable once they are created. i.e. unlike in python and java where you must import everything at the top of a file, once you add a class in Visual Studio is becomes immediately usable in order parts of the code without having to explicitely import it. This is handy, but also seems like it could create some issues in the long run in the sense that it is not immediately obvious which parts of the code are being used from one file to the next with these implicit imports.

It is not immediately clear to me, but I suspect that this is only true in the context of a namespace. It seems that C# allows you to “magically” use all members of a namespace without having to import them explicitly.

Abstract classes and abstract methods. You can create “sealed” classes which cannot be inherited. Interfaces are classes without implementation. I feel like a good analogy for this would be header files in C, C++ or Objective-C. An interface is really what an API refers to in a traditional sense (not like REST API). It is a “programming contract” that guarantees users of the implemented class that the functionality of that class will implement everything that is defined in the interface.

In the lab portion of the course we refactored our “school simulator” to have Students and Teachers inherit from a base class of Person.

Tomorrow I hope to wrap up the last module of the course which has to do with memory management and then move on to the last course of the series that deals with data structures and algorithms in C#.

 

 

Thank you for reading! Share your thoughts with me on bluesky, mastodon, or via email.

Check out some more stuff to read down below.

Most popular posts this month

Recent Favorite Blog Posts

This is a collection of the last 8 posts that I bookmarked.

Articles from blogs I follow around the net

Announcing Live AI & Design Systems Jam Sessions!

Ian, TJ, and I are excited to announce live AI & Design Systems Jam Sessions with our AI & Design Systems course community! Our first jam session will be Thursday, February 26 at 10AM ET. In these recurring biweekly Zoom […]

via Blog – Brad Frost February 16, 2026

I Sold Out for $20 a Month and All I Got Was This Perfectly Generated Terraform

Until recently the LLM tools I’ve tried have been, to be frank, worthless. Copilot was best at writing extremely verbose comments. Gemini would turn a 200 line script into a 700 line collection of gibberish. It was easy for me to, more or less, ignore LLM…

via matduggan.com February 16, 2026

Pluralistic: The online community trilemma (16 Feb 2026)

Today's links The online community trilemma: Reach, community and information, pick two. Hey look at this: Delights to delectate. Object permanence: Bruces x Sony DRM; Eniac tell-all; HBO v PVRs; Fucking damselflies; Gil Scout Cookie wine-pairings; Bi…

via Pluralistic: Daily links from Cory Doctorow February 16, 2026

Generated by openring