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
- SQLite DB Migrations with PRAGMA user_version
- Lev Lazinskiy
- Spring Security, Webjars, and MIME type error
- Terminal RSS Reader With Nom
- Javascript
Recent Favorite Blog Posts
This is a collection of the last 8 posts that I bookmarked.
- Deeper dive: Were Touch Bar’s problems software rather than hardware? from Unsung
- Joining Cursor from Fatih Arslan
- Pluralistic: Digital sewer socialism (08 Aug 2026) from Pluralistic: Daily links from Cory Doctorow
- Pluralistic: Enshittification and Reverse Centaurs go global (29 Jul 2026) from Pluralistic: Daily links from Cory Doctorow
- AI Mania Is Eviscerating Global Decision-Making from Ludicity
- The default person from https://popagandhi.com/
- No-One Escapes the Permanent Underclass from Fernando Borretti
- Is it ethical to use AI? from charity.wtf
Articles from blogs I follow around the net
“A tricky problem I had to be thoughtful about.”
Phones grow big and their top edges inch closer and closer toward the horizon. Over time, iOS and apps moved some of the important surfaces to the bottom (for better or worse – I still struggle with seeing results and completions appearing above inputs), a...
via Unsung September 2, 2026Claude's new system prompt really doesn't want to reproduce song lyrics
Anthropic publish the system prompts for their Claude consumer applications (Claude.ai and the Claude mobile apps - sadly not for Claude Cowork or Claude Code). I love that they do this, and that they share not just the current prompts but historic changes...
via Simon Willison's Weblog: Entries September 2, 2026Pluralistic: Unpermissioned research (02 Sep 2026)
Today's links Unpermissioned research: Fighting Trump means preserving the internet, which means scraping. Hey look at this: Delights to delectate. Object permanence: Leaked advanced PalmOS device specs; Stalwart workers; "I, Rowboat"; SMS uprising; Facebo...
via Pluralistic: Daily links from Cory Doctorow September 2, 2026Generated by openring