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
- 2024
- Reinstalling Windows at 1am
- SQLite DB Migrations with PRAGMA user_version
- My Custom Miniflux CSS Theme
- How to Disable Wayland in Debian Testing
Recent Favorite Blog Posts
This is a collection of the last 8 posts that I bookmarked.
- Future Fonts from Blog – Brad Frost
- 21st Century C++ from Communications of the ACM
- Submarines DevCon 2025 Keynote Speech from JoshHaines.com
- How I Use AI: Meet My Promptly Hired Model Intern from Armin Ronacher's Thoughts and Writings
- DeepSeek from Maggie Appleton
- Digital Reality Digital Shock from Christopher Butler
- 10 habits to help becoming a Debian Maintainer from Optimized by Otto
- Tiny corners from Manuel Moreale RSS Feed
Articles from blogs I follow around the net
Notes from Alexander Petros’ “Building the Hundred-Year Web Service”
I loved this talk from Alexander Petros titled “Building the Hundred-Year Web Service”. What follows is summation of my note-taking from watching the talk on YouTube. Is what you’re building for future generations: Useful for them? Maintainable by them? Adapt…
via Jim Nielsen’s Blog May 14, 2025Open Up, Episode 2: Fundamentals, Principles, Navigating an Imperfect World, Collaboration, and Old Friends
I’m late in posting this because boy oh boy, there’s been a lot going on. But Episode 2 of our show Open Up is out! Geoff and I tackled some great questions and covered a lot of ground in this […]
via Blog – Brad Frost May 14, 2025Your license is a scam
Good morning. Good morning sir! How can I help you? Hello, hi. I was interested in buying one of your cars, the Model A. I really like it and it seems perfect for me. That’s an excellent choice! Model A is a great car, the price starts at 20 …
via Manuel Moreale May 14, 2025Generated by openring