R1D17 Nose Dive into OOP in C#
I worked through module two of the Object Oriented Progrmaming in C# course on edX.
- C# supports the notion of anonmous classes which seems to make it very simple to create new read-only objects on the fly without having to create the class first.
- Visual Studio has handy #region and #endregion functionality that allows you to make collapsable regions in your code. If you have a file with many lines of code in it, using regions is a great way to keep things organized and also make things easier to look at in the UI.
- C# does not support multiple inheritance.
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
- 2025
- Ladybird on Debian Stable
- My Custom Miniflux CSS Theme
- SQLite DB Migrations with PRAGMA user_version
- Great Lakes, Illinois
Recent Favorite Blog Posts
This is a collection of the last 8 posts that I bookmarked.
- Pluralistic: bunnie's piggyback hack (09 Jan 2026) from Pluralistic: Daily links from Cory Doctorow
- Clicks Communicator from Chris Hannah
- A Year Of Vibes from Armin Ronacher's Thoughts and Writings
- Pluralistic: A perfect distillation of the social uselessness of finance (18 Dec 2025) from Pluralistic: Daily links from Cory Doctorow
- Moving from WordPress to Substack from charity.wtf
- Grow, Like a Tree Not a Cancer from Jim Nielsen’s Blog
- Pluralistic: All the books I reviewed in 2025 (02 Dec 2025) from Pluralistic: Daily links from Cory Doctorow
- DEP-18: A proposal for Git-based collaboration in Debian from Optimized by Otto
Articles from blogs I follow around the net
Bandcamp is Taking Slop Head On with Unequivocal Ban, to the Cheers of Music Lovers Everywhere
’Tis But Some Quick News for January 16, 2026 Bandcamp read the room. It is the hero we need in our hour of darkness. Amidst an onslaught of horrendous AI-generated slop pretending to be music (Spotify is rife with this garbage, though they keep claiming …
via The Internet Review January 16, 2026Pluralistic: Catch this! (16 Jan 2026)
Today's links Catch this! Email is good, actually. Hey look at this: Delights to delectate. Object permanence: LDS excommunication; King Foundation v "I Have a Dream"; "Lat-stage capitalism" v "Christ, what an asshole"; Pelosi …
via Pluralistic: Daily links from Cory Doctorow January 16, 2026Liberating the ASUS CX1100CN Chromebook with OpenBSD
Liberating the ASUS CX1100CN Chromebook with OpenBSD 2026-01-16 I’ve always enjoyed the idea of having a portable, lightweight, 11 inch laptop for my personal use for around the house and small trips. A device that I wouldn’t have to be concerned about just…
via btxx.org RSS Feed January 16, 2026Generated by openring