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
- Great Lakes, Illinois
- My Custom Miniflux CSS Theme
- Setting up ANTLR4 on Windows
- Are we inside a Sarlacc?
- Vagrant Box for ROS2 on Apple Silicon
Recent Favorite Blog Posts
This is a collection of the last 8 posts that I bookmarked.
- 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
- [RIDGELINE] No Phones in The Ten-don Shop from Craig Mod — Writer + Photographer
- My next chapter with Mastodon from Mastodon Blog
- How many pillars of observability can you fit on the head of a pin? from charity.wtf
- The Software Essays that Shaped Me from Refactoring English
- Give Your Spouse the Gift of a Couple's Email Domain from mtlynch.io
Articles from blogs I follow around the net
this is such a painful loss. my heart is broken.
“The most important things are the hardest things to say. They are the things you get ashamed of, because words diminish them — words shrink things that seemed limitless when they were in your head to no more than living size when they’re brought out. But…
via WIL WHEATON dot NET December 15, 2025Ribbon Finance suffers $2.7 million exploit, plans to use "dormant" users' funds to repay active users
Ribbon Finance, which has partially rebranded to Aevo, has lost $2.7 million after attackers exploited a vulnerability in the smart contract for legacy Ribbon vaults that enabled them to manipulate oracle prices and withdraw a large …
via Web3 is Going Just Great December 15, 2025Pluralistic: Break up bad companies; replace bad union bosses (15 Dec 2025)
Today's links Break up bad companies; replace bad union bosses: Labor should be fixed, capital should be vanquished. Hey look at this: Delights to delectate. Object permanence: "Star Island"; "Mediactive"; Afraid of solar; Well-Armed P…
via Pluralistic: Daily links from Cory Doctorow December 15, 2025Generated by openring