My Sister-In-Law called it "Incest"! She might not be far wrong.
I've been doing some research for articles I'm working on that will explain more about how elements in classes are shadowed, overloaded, and overridden when they're inherited. I've seen this syntax in two different articles.
Dim theClass As BaseClass = New DerivedClass
When I first saw it, I asked myself, "What is that noise???" I had no idea why someone would code a declaration like that. A new Quick Tip on the site explores the topic.
Declaring Reference Types in VB.NET
At the present time, I think that the articles (which shall remain nameless to protect the guilty) are simply "random". Bill Gates used to use that term for defective code.
If you know different, let me know.
While working on a new article about Overloads, Overrides, and Shadows (look for it soon), I ran across some additional information that extends an earlier article about instantiating the Form object. The earlier article is:
Multiple Form Instantiation in VB.NET
The added information is in a new Quick Tip that you can find on the site here:
The VB.NET Form as a Class
The basis of inheritance!
The plan is to feature a whole new series of articles about using classes in VB.NET! The first one is already on the site:
Base and Derived Classes
The main idea with classes is that you can adapt them to what you need through inheritance. This article explains this concept "from the ground up" ... it's written for beginners so you don't have to already understand the answer before you read it!
You might not be using class diagrams in Visual Studio Professional. I seldom see them as part of technical presentations or even in articles. They're not required ... unless, of course, you want to get the very most out of Visual Studio!
A new article on the site introduces the Class Designer in Visual Studio .NET Professional. "Professional" is the mid-priced model that has most of the really useful stuff, but not the high-priced extras. A different class diagram tool is in the Ultimate version of Visual Studio and nearly all of the Microsoft documentation applies to the expensive spread. (I wonder why?) I decided to provide where Microsoft does not.
The Class Diagram Tool in Visual Studio